tokio_process_tools/
lib.rs1#![doc = include_str!("../README.md")]
3mod async_drop;
6mod error;
7mod output_stream;
8mod panic_on_drop;
9mod process;
10mod process_handle;
11#[cfg(test)]
12mod send_sync_proof;
13mod signal;
14mod terminate_on_drop;
15#[cfg(test)]
16mod test_support;
17
18pub use error::{
19 SpawnError, StreamConsumerError, StreamReadError, TerminationAttemptError,
20 TerminationAttemptOperation, TerminationAttemptPhase, TerminationError, WaitError,
21 WaitForCompletionOrTerminateResult, WaitForCompletionResult, WaitForLineResult,
22 WaitOrTerminateError, WaitWithOutputError,
23};
24pub use output_stream::backend::broadcast::BroadcastOutputStream;
25pub use output_stream::backend::discard::DiscardedOutputStream;
26pub use output_stream::backend::single_subscriber::SingleSubscriberOutputStream;
27pub use output_stream::config::{
28 DEFAULT_MAX_BUFFERED_CHUNKS, DEFAULT_READ_CHUNK_SIZE, StreamConfig, StreamConfigBuilder,
29};
30pub use output_stream::consumer::{Consumer, ConsumerCancelOutcome, ConsumerError, Sink};
31pub use output_stream::event::{Chunk, StreamEvent};
32pub use output_stream::line::adapter::{AsyncLineSink, LineAdapter, LineSink};
33pub use output_stream::line::options::{
34 DEFAULT_MAX_LINE_LENGTH, LineOverflowBehavior, LineParsingOptions,
35};
36pub use output_stream::line::parser::LineParser;
37pub use output_stream::num_bytes::{NumBytes, NumBytesExt};
38pub use output_stream::policy::{
39 BestEffortDelivery, Delivery, DeliveryGuarantee, NoReplay, ReliableDelivery, Replay,
40 ReplayEnabled, ReplayRetention,
41};
42pub use output_stream::visitor::{AsyncStreamVisitor, StreamVisitor};
43pub use output_stream::visitors::collect::{
44 AsyncChunkCollector, AsyncLineCollector, CollectLineSink, CollectLineSinkAsync, CollectedBytes,
45 CollectedLines, CollectionOverflowBehavior, LineCollectionOptions, RawCollectionOptions,
46};
47pub use output_stream::visitors::inspect::{InspectLineSink, InspectLineSinkAsync};
48pub use output_stream::visitors::wait::WaitForLineSink;
49pub use output_stream::visitors::write::{
50 LineWriteMode, SinkWriteError, SinkWriteErrorAction, SinkWriteErrorHandler, SinkWriteOperation,
51 WriteCollectionOptions, WriteLineSink,
52};
53pub use output_stream::{Next, OutputStream, Subscription, TrySubscribable};
54pub use process::builder::Process;
55pub use process::name::{AutoName, AutoNameSettings, ProcessName};
56pub use process::stream_config::{
57 DiscardedStreamConfig, ProcessStreamBuilder, ProcessStreamConfig,
58};
59pub use process_handle::WaitForCompletionOrTerminateOptions;
60pub use process_handle::output_collection::options::{LineOutputOptions, RawOutputOptions};
61pub use process_handle::output_collection::output::ProcessOutput;
62pub use process_handle::{ProcessHandle, RunningState, Stdin};
63pub use terminate_on_drop::TerminateOnDrop;