pub struct StdioTransport { /* private fields */ }Implementations§
Source§impl StdioTransport
impl StdioTransport
pub async fn spawn( spec: StdioProcessSpec, config: StdioTransportConfig, ) -> Result<Self, RuntimeError>
pub fn write_tx(&self) -> Result<Sender<Value>, RuntimeError>
pub fn take_read_rx(&mut self) -> Result<Receiver<Value>, RuntimeError>
pub fn malformed_line_count(&self) -> u64
Sourcepub fn stderr_tail_snapshot(&self) -> Option<String>
pub fn stderr_tail_snapshot(&self) -> Option<String>
Latest child stderr tail snapshot, if any bytes have been observed. Allocation: one String clone. Complexity: O(n), n = stored stderr tail bytes.
Sourcepub fn try_wait_exit(&mut self) -> Result<Option<ExitStatus>, RuntimeError>
pub fn try_wait_exit(&mut self) -> Result<Option<ExitStatus>, RuntimeError>
Non-blocking child status probe. Allocation: none. Complexity: O(1).
pub async fn join(self) -> Result<TransportJoinResult, RuntimeError>
Sourcepub async fn terminate_and_join(
self,
flush_timeout: Duration,
terminate_grace: Duration,
) -> Result<TransportJoinResult, RuntimeError>
pub async fn terminate_and_join( self, flush_timeout: Duration, terminate_grace: Duration, ) -> Result<TransportJoinResult, RuntimeError>
Shutdown path used by runtime. It closes outbound queue, attempts bounded writer flush, waits for graceful child exit and then force-kills on timeout, and joins reader. Allocation: none. Complexity: O(1) control + O(bytes) flush/write drain.
Auto Trait Implementations§
impl Freeze for StdioTransport
impl !RefUnwindSafe for StdioTransport
impl Send for StdioTransport
impl Sync for StdioTransport
impl Unpin for StdioTransport
impl UnsafeUnpin for StdioTransport
impl !UnwindSafe for StdioTransport
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