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.
PulsarTopicvalidates 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§
- Connected
Pulsar Broker - The typed witness that
connectsucceeded: holds the live client directly. - Dead
Letter - The consumer-side dead-letter policy: after
max_deliveriesredeliveries the broker routes the message to the dead-letter topic. - Pulsar
Broker - An Apache Pulsar broker for the
RustStreammessaging framework. - Pulsar
Message - A message delivered by a
PulsarSubscriber. - Pulsar
Publish - The publish policy for
PulsarPublisher: pure declaration, constructible anywhere, paired with the connected broker by the runtime afterconnect. - Pulsar
Publisher - Publishes messages to Pulsar topics, one producer per topic, created lazily and shared
through the broker core (so
shutdowncan close them). - Pulsar
Seeker - Repositions a
PulsarSubscriberwhile its stream runs; minted bySeekable::seeker. - Pulsar
Subscriber - A subscription to one or more Pulsar topics; yields
PulsarMessages. - Pulsar
Subscription - A subscription descriptor for one Pulsar subscription over one or more topics.
- Pulsar
Topic - A validated Pulsar topic name.
Enums§
- Pulsar
Error - Errors returned by the Apache Pulsar broker.
- Pulsar
Position - A position in a topic’s retained log, accepted by
Seeker::seek. - Subscription
Type - 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(whichKeySharedsubscriptions order by).