Producer
The Producer trait defines the common interface of stream producers. Producer implements Clone, so you can use it like an mpsc::Sender.
Implemented by:
ProducerOptionsβ
Redis semanticsβ
You can assign custom sharders to Producers. Sharding simply means splitting a stream into multiple keys, in the format of STREAM_KEY:SHARD_ID.
sendβ
Send a message to the already anchored stream. This function is non-blocking. You donβt have to await the future if you are not interested in the Receipt.
If the producer is not anchored, this will return StreamErr::NotAnchored error.
Receiptβ
If you await the future, you will get a receipt composed of (StreamKey, ShardId, SeqNo, Timestamp). This usually means that the message has been received by the server, but may not guarantee that the message is already persisted.
send_toβ
Like send, but to the specified stream key.
flushβ
Flush all pending messages.
endβ
End this producer, only after flushing all it's pending messages.
anchorβ
Lock this producer to a particular stream. This function can only be called once. Subsequent calls should return StreamErr::AlreadyAnchored error.
anchoredβ
If the producer is already anchored, return a reference to the StreamKey. If the producer is not anchored, this will return StreamErr::NotAnchored error.