# file: record.aus

## class: KafkaRecord

[25:14] (extern: com.lehman.aussom.KafkaRecord) **extends: object** 

One received record: pure data handed to poll callers and listener
handlers. Key and value decode lazily per the owning client's
key/value formats (string or bytes). Records are never constructed
from Aussom code - the producer's send() takes plain arguments.

#### Methods

- **getTopic** ()

	> Gets the record's topic.

	- **@r** `A` string with the topic name.


- **getPartition** ()

	> Gets the record's partition.

	- **@r** `An` int with the partition number.


- **getOffset** ()

	> Gets the record's offset within its partition.

	- **@r** `An` int with the offset.


- **getKey** ()

	> Gets the record key per the client's key format.

	- **@r** `A` string or Buffer with the key, or null.


- **getValue** ()

	> Gets the record value per the client's value format. A null value is a tombstone on a compacted topic.

	- **@r** `A` string or Buffer with the value, or null.


- **getTimestamp** ()

	> Gets the record timestamp.

	- **@r** `An` int with milliseconds since the epoch.


- **getTimestampType** ()

	> Gets the timestamp type.

	- **@r** `A` string: create_time or log_append_time.


- **getHeaderMap** ()

	> Gets all headers as one map - the ergonomic default. The last value wins on a duplicate key.

	- **@r** `A` map of header name to value.


- **getHeaders** ()

	> Gets all headers as the lossless ordered list, for the rare record carrying duplicate keys.

	- **@r** `A` list of { "key": s, "value": v } maps.


- **getHeader** (`string Name`)

	> Gets the last header value for a name.

	- **@p** `Name` is a string with the header name.
	- **@r** `The` header value, or null.


- **getHeaderNames** ()

	> Gets the distinct header names in first-seen order.

	- **@r** `A` list of strings.


- **getLeaderEpoch** ()

	> Gets the leader epoch when the broker supplied one.

	- **@r** `An` int with the epoch, or null.


- **getSerializedKeySize** ()

	> Gets the serialized key size.

	- **@r** `An` int with the size in bytes (-1 for a null key).


- **getSerializedValueSize** ()

	> Gets the serialized value size.

	- **@r** `An` int with the size in bytes (-1 for a null value).


- **getDeliveryCount** ()

	> Gets the delivery count. Share-group records only.

	- **@r** `An` int with the delivery count, or null.




