pub struct PipeStreamAttachment {
pub initial_backlog: Vec<u8>,
pub bytes_missed: u64,
/* private fields */
}Expand description
Active attachment to one stdout or stderr stream of a pipe-backed session.
Owns the socket after it switches into one-way streaming mode.
Fields§
§initial_backlog: Vec<u8>Bytes from the stream backlog that the client missed before attaching.
bytes_missed: u64Cumulative bytes dropped from the daemon’s backlog before this attachment.
Implementations§
Source§impl PipeStreamAttachment
impl PipeStreamAttachment
Sourcepub fn attach(
scope_hash: Option<&str>,
session_id: &str,
stream: PipeStreamKind,
steal: bool,
) -> Result<Self, PipeAttachError>
pub fn attach( scope_hash: Option<&str>, session_id: &str, stream: PipeStreamKind, steal: bool, ) -> Result<Self, PipeAttachError>
Open the scoped daemon socket and attach to a session output stream.
When steal is true, the daemon evicts any existing attachment on the same stream.
Sourcepub fn attach_to(
socket_path: &str,
session_id: &str,
stream: PipeStreamKind,
steal: bool,
) -> Result<Self, PipeAttachError>
pub fn attach_to( socket_path: &str, session_id: &str, stream: PipeStreamKind, steal: bool, ) -> Result<Self, PipeAttachError>
Open an explicit daemon socket path and attach to a session output stream.
When steal is true, the daemon evicts any existing attachment on the same stream.
Sourcepub fn recv_frame(&mut self) -> Result<PipeStreamFrame, PipeAttachError>
pub fn recv_frame(&mut self) -> Result<PipeStreamFrame, PipeAttachError>
Block until the next stream frame arrives.
Auto Trait Implementations§
impl Freeze for PipeStreamAttachment
impl RefUnwindSafe for PipeStreamAttachment
impl Send for PipeStreamAttachment
impl Sync for PipeStreamAttachment
impl Unpin for PipeStreamAttachment
impl UnsafeUnpin for PipeStreamAttachment
impl UnwindSafe for PipeStreamAttachment
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 more