pub struct RedisPubSubPublisher { /* private fields */ }Expand description
Publishes Pub/Sub messages with PUBLISH (classic) or SPUBLISH (sharded): a
RedisPubSubPublish policy paired with a connection.
Obtain it from
ConnectedRedisBroker::pubsub_publisher, or
by pairing the policy. Like every publisher here it may outlive the connection, so publishing
after shutdown reports RedisError::ShutDown.
Trait Implementations§
Source§impl Clone for RedisPubSubPublisher
impl Clone for RedisPubSubPublisher
Source§impl Debug for RedisPubSubPublisher
impl Debug for RedisPubSubPublisher
Source§impl Publisher for RedisPubSubPublisher
impl Publisher for RedisPubSubPublisher
Source§type Payload = Lend
type Payload = Lend
The payload is read into an envelope of this crate’s own before it reaches the client, so there is nothing to keep: the publish is lent the bytes where they already are.
Source§type Options = RedisPublishOptions
type Options = RedisPublishOptions
PUBLISH and SPUBLISH take a channel and a payload and nothing else, and which of the
two is issued is the publisher’s mode, fixed by the policy, because a sharded publish only
reaches sharded subscribers. What a call site still says is the partition key, framed into
the payload with the message’s other headers.
Source§type Error = RedisError
type Error = RedisError
publish.Auto Trait Implementations§
impl !RefUnwindSafe for RedisPubSubPublisher
impl !UnwindSafe for RedisPubSubPublisher
impl Freeze for RedisPubSubPublisher
impl Send for RedisPubSubPublisher
impl Sync for RedisPubSubPublisher
impl Unpin for RedisPubSubPublisher
impl UnsafeUnpin for RedisPubSubPublisher
Blanket Implementations§
impl<T> Bindable for Twhere
T: Publisher + Named,
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
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> ⓘ
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> ⓘ
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,
#[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,
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,
TypedTransaction that owns it. Read more