pub struct Composer {
compacting: HashSet<SessionSlot>,
landed: HashMap<SessionSlot, Landed>,
}Expand description
What the core’s own reads cannot answer: the compaction the CLI announced on the status frame and the landed take nobody sent.
Fields§
§compacting: HashSet<SessionSlot>§landed: HashMap<SessionSlot, Landed>The last landed take’s words per seat, kept until a prompt carries them away: the wire lands them once, to the connection that dictated, and a page that reloads before the send reads them back from here.
Implementations§
Source§impl Composer
impl Composer
Sourcepub fn apply(&mut self, update: &SessionUpdate)
pub fn apply(&mut self, update: &SessionUpdate)
Fold one update in: the compaction the CLI announced and the landed take’s words.
pub fn compacting(&self, slot: &SessionSlot) -> bool
Sourcepub fn landed(&self, slot: &SessionSlot) -> Option<&Landed>
pub fn landed(&self, slot: &SessionSlot) -> Option<&Landed>
The words a landed take left that nobody has sent yet, if there are any.
Sourcepub fn sent(&mut self, slot: &SessionSlot, words: &str)
pub fn sent(&mut self, slot: &SessionSlot, words: &str)
A write sent the seat’s words through a path this fold does not see - a review or document comment - so the take they came from is spent.
Only the landed words take them. A comment about something else leaves the take’s words in the seat: the reader has still not sent them (#2283).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Composer
impl RefUnwindSafe for Composer
impl Send for Composer
impl Sync for Composer
impl Unpin for Composer
impl UnsafeUnpin for Composer
impl UnwindSafe for Composer
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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