struct QueuedMessage {
seq: u64,
json_str: String,
already_persisted: bool,
}Expand description
A single entry in pending_send_messages: the formatted stdin JSON
payload plus whether it’s already been persisted to the blockfile.
codex P2 on PR #2360 (sixth review pass, round 7): a stale-resume
retry’s redelivery has already been correctly persisted on its
original (failed) attempt — see retry_after_resume_failure’s own doc
comment — but the drain used to persist EVERY message it delivers
unconditionally, double-persisting a replayed retry batch into the
blockfile transcript.
Fields§
§seq: u64Queue identity (issue #2365): assigned once from
PersistentInner::next_message_seq at first enqueue and preserved
verbatim across redelivery (QueuedRetryEntry::seq carries it
through a stale-resume retry batch), so dedup / own-message /
seed checks are exact identity — two genuinely different messages
with identical text can never be conflated.
json_str: String§already_persisted: boolImplementations§
Trait Implementations§
Source§impl Clone for QueuedMessage
impl Clone for QueuedMessage
Source§fn clone(&self) -> QueuedMessage
fn clone(&self) -> QueuedMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for QueuedMessage
impl Debug for QueuedMessage
Source§impl PartialEq<&str> for QueuedMessage
impl PartialEq<&str> for QueuedMessage
Source§impl PartialEq<String> for QueuedMessage
impl PartialEq<String> for QueuedMessage
Auto Trait Implementations§
impl Freeze for QueuedMessage
impl RefUnwindSafe for QueuedMessage
impl Send for QueuedMessage
impl Sync for QueuedMessage
impl Unpin for QueuedMessage
impl UnsafeUnpin for QueuedMessage
impl UnwindSafe for QueuedMessage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more