# Functions
MultiRecordReader merges multiple record batches into one.
NewBytes constructs a Bytes value from b.
NewControlBatch constructs a control batch from the list of records passed as arguments.
NewRecordReader constructs a reader exposing the records passed as arguments.
ReadAll is similar to ioutil.ReadAll, but it takes advantage of knowing the length of b to minimize the memory footprint.
Register is automatically called by sub-packages are imported to install a new pair of request/response message types.
Result converts r to a Message or an error, or panics if r could not be converted to these types.
RoundTrip sends a request to a kafka broker and returns the response.
# Constants
ErrNoLeader is returned when a request needs to be sent to a partition leader, but the client could not determine what the leader was at this time.
ErrNoPartition is returned when a request needs to be sent to a specific partition, but the client did not find it in the cluster metadata.
ErrNoRecord is returned when attempting to write a message containing an empty record set (which kafka forbids).
ErrNoReset is returned by ResetRecordReader when the record reader does not support being reset.
ErrNoTopic is returned when a request needs to be sent to a specific.
1.
3.
2.
4.
# Structs
ControlBatch is an implementation of the RecordReader interface representing control batches returned by kafka brokers.
ControlRecord represents a record read from a control batch.
Header represents a single entry in a list of record headers.
MessageSet is an implementation of the RecordReader interface representing regular message sets (v1).
RawRecordSet represents a record set for a RawProduce request.
Record is an interface representing a single kafka record.
RecordBatch is an implementation of the RecordReader interface representing regular record batches (v2).
RecordSet represents a sequence of records in Produce requests and Fetch responses.
RecordStream is an implementation of the RecordReader interface which combines multiple underlying RecordReader and only expose records that are not from control batches.
# Interfaces
BrokerMessage is an extension of the Message interface implemented by some request types to customize the broker assignment logic.
Bytes is an interface implemented by types that represent immutable sequences of bytes.
GroupMessage is an extension of the Message interface implemented by some request types to inform the program that they should be routed to a group coordinator.
Merger is an interface implemented by messages which can merge multiple results into one response.
Message is an interface implemented by all request and response types of the kafka protocol.
OverrideTypeMessage is an interface implemented by messages that want to override the standard request/response types for a given API.
PreparedMessage is an extension of the Message interface implemented by some request types which may need to run some pre-processing on their state before being sent.
RawExchanger is an extention to the Message interface to allow messages to control the request response cycle for the message.
RecordReader is an interface representing a sequence of records.
Splitter is an interface implemented by messages that can be split into multiple requests and have their results merged back by a Merger.
TransactionalMessage is an extension of the Message interface implemented by some request types to inform the program that they should be routed to a transaction coordinator.
# Type aliases
Attributes is a bitset representing special attributes set on records.
Error represents client-side protocol errors.