Skip to main content

Crate ruststream_pulsar

Crate ruststream_pulsar 

Source
Expand description

Apache Pulsar broker implementation for RustStream.

Handlers, routers, codecs, and middleware come from the framework; this crate supplies the transport over the pulsar client maintained by StreamNative.

  • Four subscription types as an enum with per-variant meaning (exclusive, shared, failover, key-shared) - combinations that do not exist are unrepresentable.
  • The consumer-side dead-letter policy carries its delivery-attempt limit, and the ack timeout redelivers automatically; both are product features, not crate machinery.
  • PulsarTopic validates the four meanings a topic name carries (persistence, tenant, namespace, topic) on construction instead of at first use.
  • Multi-topic and pattern subscriptions are descriptor variants.
  • Key sharing maps onto the partition key; message properties carry headers directly, so no envelope format is invented.

Transactions, consumer-side batch receive, and the schema registry are deliberately out of scope: the client does not implement them, and the capability traits they would back are optional by design.

Structs§

ConnectedPulsarBroker
The typed witness that connect succeeded: holds the live client directly.
DeadLetter
The consumer-side dead-letter policy: after max_deliveries redeliveries the broker routes the message to the dead-letter topic.
PulsarBroker
An Apache Pulsar broker for the RustStream messaging framework.
PulsarMessage
A message delivered by a PulsarSubscriber.
PulsarPublish
The publish policy for PulsarPublisher: pure declaration, constructible anywhere, paired with the connected broker by the runtime after connect.
PulsarPublisher
Publishes messages to Pulsar topics, one producer per topic, created lazily and shared through the broker core (so shutdown can close them).
PulsarSeeker
Repositions a PulsarSubscriber while its stream runs; minted by Seekable::seeker.
PulsarSubscriber
A subscription to one or more Pulsar topics; yields PulsarMessages.
PulsarSubscription
A subscription descriptor for one Pulsar subscription over one or more topics.
PulsarTopic
A validated Pulsar topic name.

Enums§

PulsarError
Errors returned by the Apache Pulsar broker.
PulsarPosition
A position in a topic’s retained log, accepted by Seeker::seek.
SubscriptionType
How competing consumers on one subscription share its messages.

Constants§

PARTITION_KEY_HEADER
Header carrying the partition key, mapped onto the message’s partition_key (which KeyShared subscriptions order by).