Table of Contents

Namespace VpnHood.Net.PacketTransports

Classes

FairPacketQueue

Provides a send queue split into 64 lanes by a hash of a packet's ports, so a flow that floods fills mostly its own lane and the packets of other flows need not wait behind its backlog.

PacketTransport

Provides a packet transport that queues sent packets and hands them to the derived class in batches, up to the queue's capacity at a time, on a sending loop of its own.

PacketTransportBase

Provides the send queue, the sending loop, the packet ownership rules and the counters every packet transport shares; a derived class sends the packets and raises the ones it receives.

PacketTransportOptions

Provides the settings of a packet transport's send queue.

PacketTransportStat

Provides the counters of a packet transport, which the transport writes.

PassthroughPacketTransport

Provides a packet transport with no queue: each packet is handed on at once, on the sender's thread, through SendPacket(IpPacket).

ReadOnlyPacketTransportStat

Provides a read-only view of a transport's counters, which shows their current values.

SinglePacketTransport

Provides a packet transport that queues sent packets and hands them to the derived class one at a time, through SendPacketAsync(IpPacket), on a sending loop of its own.

Interfaces

IPacketTransport

Represents a two-way channel of IP packets: packets sent to it are queued and sent on, and packets it receives are raised through PacketReceived.