Collects chunks of messages received.
Collects chunks of messages received. Each chunk is forming whole message, that means this looks for the first 4 bytes, that indicates message size, then this take up to that size to produce single ByteVector of message content, and emits that content it term of Segment. Note that Segment may be empty or may contain multiple characters
Decodes message received.
Decodes message received. Due to kafka protocol not having response type encoded in protocol itself, we need to consult correlation id, that is read first from the message to identify response type.
If request is found for given message, this will remove that request from supplied map and will deserialize message according the request type.
If request cannot be found, this fails, as well as when message cannot be decoded.
Ref of current open requests.
Collects bytes as they arrive producing chunks of ByteVector This reads 32 bits size first, then it reads up to that size of message data emitting single ByteVector.
Collects bytes as they arrive producing chunks of ByteVector This reads 32 bits size first, then it reads up to that size of message data emitting single ByteVector.
This combinator respects chunks. So if there was more chunks collected in single go, they all are emitted in chunk.
Pipe that will send one message with sendOne
shile updating the openRequests
.
Pipe that will send one message with sendOne
shile updating the openRequests
.
The openRequests
or not updated for ProduceRequests that do not expect confirmation from kafka