pub struct PublishOutcome {
pub message_id: u64,
pub delivered: bool,
}Expand description
Outcome of a server publish.
Carries the assigned message id plus a genuine delivery ack (delivered = the
message was accepted by at least one live subscriber on this publish, after any
dedup-on-delivery suppression).
Fields§
§message_id: u64Transport-scoped message id assigned to the accepted publish.
TRANSPORT-SCOPED, NOT A DURABLE POSITION (G1,
docs/design/wire-durability-gaps-20260831.md): this is a
process-local counter (next_message_id, reset to 1 on every
construction), so it restarts from 1 with the server and two servers
mint the same ids. It is monotonic only within one service instance’s
lifetime and identifies the publish on THIS connection’s wire, nothing
more. The durable position of a publish on a durable channel is the
store-assigned sequence the library now surfaces as
ChannelDelivery::durable_position; putting that on the wire ack is
the A1 resume lane’s frame decision, not a reinterpretation of this
field.
delivered: boolWhether the message was genuinely delivered to a subscriber. false means
the publish was accepted but reached no subscriber (empty channel) or was
a duplicate suppressed by dedup-on-delivery.
Trait Implementations§
Source§impl Clone for PublishOutcome
impl Clone for PublishOutcome
Source§fn clone(&self) -> PublishOutcome
fn clone(&self) -> PublishOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PublishOutcome
Source§impl Debug for PublishOutcome
impl Debug for PublishOutcome
impl Eq for PublishOutcome
Source§impl PartialEq for PublishOutcome
impl PartialEq for PublishOutcome
impl StructuralPartialEq for PublishOutcome
Auto Trait Implementations§
impl Freeze for PublishOutcome
impl RefUnwindSafe for PublishOutcome
impl Send for PublishOutcome
impl Sync for PublishOutcome
impl Unpin for PublishOutcome
impl UnsafeUnpin for PublishOutcome
impl UnwindSafe for PublishOutcome
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.