pub struct PulsarPublisher { /* private fields */ }Expand description
Publishes messages to Pulsar topics, one producer per topic, created lazily and shared
through the broker core (so shutdown can close them).
The partition key travels per message: PulsarPublishSteps::partition_key names it at the
call site, and a partition-key header names the same key for a caller that writes its
headers itself. Awaits the broker’s send receipt, so Ok means the
broker stored the message. A payload over the broker’s
max_message_size fails with
PulsarError::Publish without being sent. Buildable before connect and usable until
shutdown; afterwards every publish reports PulsarError::NotConnected.
Trait Implementations§
Source§impl Clone for PulsarPublisher
impl Clone for PulsarPublisher
Source§impl Debug for PulsarPublisher
impl Debug for PulsarPublisher
Source§impl Publisher for PulsarPublisher
impl Publisher for PulsarPublisher
Source§type Options = PulsarPublishOptions
type Options = PulsarPublishOptions
The partition key, the one value Pulsar lets one publish differ from the next in on this crate’s surface.
Source§type Error = PulsarError
type Error = PulsarError
The error type returned by
publish.Auto Trait Implementations§
impl !RefUnwindSafe for PulsarPublisher
impl !UnwindSafe for PulsarPublisher
impl Freeze for PulsarPublisher
impl Send for PulsarPublisher
impl Sync for PulsarPublisher
impl Unpin for PulsarPublisher
impl UnsafeUnpin for PulsarPublisher
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<P> PublishExt for P
impl<P> PublishExt for P
Source§fn message<'a, T>(
&'a self,
value: &'a T,
) -> PublishBuilder<&'a Self, MessageBody<'a, T>, UnnamedCodec, HeadersUnset, <T as OutgoingDestination>::Form>where
T: OutgoingDestination,
fn message<'a, T>(
&'a self,
value: &'a T,
) -> PublishBuilder<&'a Self, MessageBody<'a, T>, UnnamedCodec, HeadersUnset, <T as OutgoingDestination>::Form>where
T: OutgoingDestination,
Starts a typed publish of a
#[derive(Outgoing)] value, encoded with the crate’s
default codec (name another one with with_codec(..)). A
Serialized value’s bytes leave as they are instead - the wire is
the type’s own (MessageWire), and no codec runs on it. Read moreSource§fn begin(
&self,
) -> impl Future<Output = Result<TransactionScope<'_, Self, UnnamedCodec, AnyDeclared>, Self::Error>> + Sendwhere
Self: Sized + TransactionalPublisher,
fn begin(
&self,
) -> impl Future<Output = Result<TransactionScope<'_, Self, UnnamedCodec, AnyDeclared>, Self::Error>> + Sendwhere
Self: Sized + TransactionalPublisher,
Opens a broker transaction on this publisher and returns the
TransactionScope that
owns it. Read moreSource§fn owned_transaction(
&self,
) -> impl Future<Output = Result<TypedTransaction<Self::Transaction, UnnamedCodec, AnyDeclared>, Self::Error>> + Sendwhere
Self: Sized + OwnedTransactions,
fn owned_transaction(
&self,
) -> impl Future<Output = Result<TypedTransaction<Self::Transaction, UnnamedCodec, AnyDeclared>, Self::Error>> + Sendwhere
Self: Sized + OwnedTransactions,
Opens an owned broker transaction and returns the
TypedTransaction that owns it. Read more