Struct openssh_mux_client::EstablishedSession
source · [−]pub struct EstablishedSession { /* private fields */ }
Expand description
Cancel safety
All methods of this struct is not cancellation safe.
Implementations
sourceimpl EstablishedSession
impl EstablishedSession
sourcepub async fn wait(self) -> Result<SessionStatus, (Error, Self)>
pub async fn wait(self) -> Result<SessionStatus, (Error, Self)>
Wait for session status to change
Return Self
on error so that you can handle the error and restart
the operation.
If the server close the connection without sending anything,
this function would return Ok(None)
.
sourcepub fn try_wait(self) -> Result<TryWaitSessionStatus, (Error, Self)>
pub fn try_wait(self) -> Result<TryWaitSessionStatus, (Error, Self)>
Since waiting for the remote child to exit is basically waiting for the socket to become readable, try_wait is basically polling for readable.
If it is readable, then it would read the entire packet in blocking manner. While this is indeed a blocking call, it is unlikely to block since the ssh multiplex master most likely would send it using one write/send.
And even if it does employ multiple write/send, these functions would just return immediately since the buffer for the unix socket is empty and should be big enough for one packet.
If it is not readable, then it would return Ok(InProgress).
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for EstablishedSession
impl Send for EstablishedSession
impl Sync for EstablishedSession
impl Unpin for EstablishedSession
impl UnwindSafe for EstablishedSession
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more