[][src]Crate pnet_transport

Support for implementing transport layer protocols

The transport module provides the ability to send and receive packets at the transport layer using IPv4 or IPv6. It also enables layer 3 networking for specific transport protocols, using IPv4 only.

Note that this is limited by operating system support - for example, on OS X and FreeBSD, it is impossible to implement protocols which are already implemented in the kernel such as TCP and UDP.

Macros

transport_channel_iterator

Create an iterator for some packet type.

Structs

Config

Structure used for holding all configurable options for describing possible options for transport channels.

IcmpTransportChannelIterator

An iterator over packets of type IcmpPacket.

Icmpv6TransportChannelIterator

An iterator over packets of type Icmpv6Packet.

Ipv4TransportChannelIterator

An iterator over packets of type Ipv4Packet.

TcpTransportChannelIterator

An iterator over packets of type TcpPacket.

TransportReceiver

Structure used for receiving at the transport layer. Should be created with transport_channel().

TransportSender

Structure used for sending at the transport layer. Should be created with transport_channel().

UdpTransportChannelIterator

An iterator over packets of type UdpPacket.

Enums

TransportChannelType

Type of transport channel to present.

TransportProtocol

Represents a transport layer protocol.

Functions

icmp_packet_iter

Return a packet iterator with packets of type IcmpPacket for some transport receiver.

icmpv6_packet_iter

Return a packet iterator with packets of type Icmpv6Packet for some transport receiver.

ipv4_packet_iter

Return a packet iterator with packets of type Ipv4Packet for some transport receiver.

tcp_packet_iter

Return a packet iterator with packets of type TcpPacket for some transport receiver.

transport_channel

Create a new (TransportSender, TransportReceiver) pair.

transport_channel_with

Create a new (TransportSender, TransportReceiver) pair using the additional options specified.

udp_packet_iter

Return a packet iterator with packets of type UdpPacket for some transport receiver.