Skip to main content

Module stream

Module stream 

Source
Expand description

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.

Modules§

ctrl 🔒
Common types for StreamCtrl traits and objects, used to provide a shareable handle for controlling a string.
data 🔒
Declare DataStream, a type that wraps RawCellStream so as to be useful for byte-oriented communication.
params 🔒
Declares a type to configure new streams.
resolve 🔒
Declare a type for streams that do hostname lookups

Structs§

ClientDataStreamCtrl
An object used to control and monitor a data stream.
DataReader
The read half of a DataStream, implementing futures::io::AsyncRead.
DataStream
An anonymized stream over the Tor network.
DataWriter
The write half of a DataStream, implementing futures::io::AsyncWrite.
IncomingStream
A pending request from the other end of the circuit for us to open a new stream.
IncomingStreamRequestContext
Information about a stream request, as passed to an IncomingStreamRequestFilter.
ResolveStream
A ResolveStream represents a pending DNS request made with a RESOLVE cell.
StreamParameters
A set of preferences used to declare how a new stream should be opened.
StreamReceiver
The read part of a stream on a particular circuit.

Enums§

IncomingStreamRequest
The allowed incoming messages on an IncomingStream.
IncomingStreamRequestDisposition
What action to take with an incoming stream request.
IpVersionPreference
A preference for IPv4 vs IPv6 addresses; usable as a nicer frontend for BeginFlags.

Traits§

ClientStreamCtrl
An object that lets the owner “control” a client stream.
IncomingStreamRequestFilter
A callback that can check whether a given stream request is acceptable immediately on its receipt.