aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-proto/src/client/stream.rs
blob: 5f2e5a21cc0344972586056bff8f56846b4854a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//! Implements Tor's "stream"s from a client perspective
//!
//! A stream is an anonymized conversation; multiple streams can be
//! multiplexed over a single circuit.
//!
//! To create a stream, use [crate::client::ClientTunnel::begin_stream].
//!
//! # Limitations
//!
//! There is no fairness, rate-limiting, or flow control.

#[cfg(feature = "stream-ctrl")]
mod ctrl;
mod data;
mod params;
mod resolve;

pub use data::{DataReader, DataStream, DataWriter};

pub use params::StreamParameters;
pub use resolve::ResolveStream;
pub(crate) use {data::OutboundDataCmdChecker, resolve::ResolveCmdChecker};

pub use tor_cell::relaycell::msg::IpVersionPreference;

#[cfg(feature = "stream-ctrl")]
pub use {ctrl::ClientStreamCtrl, data::ClientDataStreamCtrl};