Namespace VpnHood.Core.Tunneling.Channels
Classes
- StreamForwardingChannel
Represents a channel that forwards one TCP connection: it passes the bytes both ways between the connection and a tunnel connection, within the session's speed limits.
- StreamPacketChannel
Represents a packet channel on a stream connection: packets go out back to back on the stream, and the ones read from it go up.
- StreamPacketChannelOptions
Represents the options of a StreamPacketChannel.
- UdpChannelTransmitter
Represents a UDP socket for sessions' datagrams: it hands each one it receives to its handler, and sends the sealed ones it is given.
- UdpDatagram
Provides a session's UDP datagram: a version byte, the session's ID (8 bytes), the sequence number (8) and the tag (16), then the payload, sealed with AES-GCM under the session's key, with the session's ID and the sequence number as its associated data.
- UdpPacketChannel
Provides a session's UDP, for the session's whole life: its keys, its send count and a send queue of its own.
- UdpRoute
Represents where a session's datagrams go: the socket and the address, swapped as one, so a send never pairs one route's socket with another's address.
Interfaces
- IChannel
Represents a channel of a session's tunnel: what carries its packets, or one forwarded TCP connection.
- IPacketChannel
Represents a channel that carries a session's packets.
- IStreamForwardingChannel
Represents a channel that carries one forwarded TCP connection.
- IStreamPacketChannel
Represents a packet channel that is a connection, the kind a tunnel's channel manager takes: a session has several, picked by flow.
- IUdpDatagramHandler
Represents what takes each datagram a UDP socket receives: the server's listener host, which hands it to its session, or a client's UDP channel, which takes its own.
Enums
- PacketChannelState
Specifies a channel's state.