Classes | |
| class | Channel |
| represent a channel that communicates on a local endpoint More... | |
| class | DatagramTransport |
| Implements Transport for datagram-based protocols. More... | |
| class | EthernetChannel |
| Class implementing Ethernet-based channel to create faces. More... | |
| class | EthernetFactory |
| protocol factory for Ethernet More... | |
| class | EthernetTransport |
| Base class for Ethernet-based Transports. More... | |
| class | Face |
| generalization of a network interface More... | |
| class | FaceCounters |
| gives access to counters provided by Face More... | |
| class | FaceLogHelper |
| for internal use by FaceLogging macros More... | |
| struct | FaceParams |
| Parameters used to set Transport properties or LinkService options on a newly created face. More... | |
| class | FaceSystem |
| entry point of the face system More... | |
| class | GenericLinkService |
| GenericLinkService is a LinkService that implements the NDNLPv2 protocol. More... | |
| class | GenericLinkServiceCounters |
| counters provided by GenericLinkService More... | |
| class | InternalClientTransport |
| implements a client-side transport that can be paired with another More... | |
| class | InternalForwarderTransport |
| implements a forwarder-side transport that can be paired with another More... | |
| class | InternalTransportBase |
| abstracts a transport that can be paired with another More... | |
| class | LinkService |
| the upper part of a Face More... | |
| class | LinkServiceCounters |
| counters provided by LinkService More... | |
| class | LpFragmenter |
| fragments network-layer packets into NDNLPv2 link-layer packets More... | |
| class | LpReassembler |
| reassembles fragmented network-layer packets More... | |
| class | LpReliability |
| provides for reliable sending and receiving of link-layer packets More... | |
| struct | Multicast |
| class | MulticastEthernetTransport |
| A multicast Transport that uses raw Ethernet II frames. More... | |
| class | MulticastUdpTransport |
| A Transport that communicates on a UDP multicast group. More... | |
| class | PcapHelper |
| Helper class for dealing with libpcap handles. More... | |
| class | ProtocolFactory |
| Provides support for an underlying protocol. More... | |
| struct | ProtocolFactoryCtorParams |
| Parameters to ProtocolFactory constructor. More... | |
| class | StreamTransport |
| Implements Transport for stream-based protocols. More... | |
| class | TcpChannel |
| Class implementing TCP-based channel to create faces. More... | |
| class | TcpFactory |
| protocol factory for TCP over IPv4 and IPv6 More... | |
| class | TcpTransport |
| A Transport that communicates on a connected TCP socket. More... | |
| class | Transport |
| the lower part of a Face More... | |
| class | TransportCounters |
| counters provided by Transport More... | |
| class | UdpChannel |
| Class implementing UDP-based channel to create faces. More... | |
| class | UdpFactory |
| protocol factory for UDP over IPv4 and IPv6 More... | |
| struct | Unicast |
| class | UnicastEthernetTransport |
| A unicast Transport that uses raw Ethernet II frames. More... | |
| class | UnicastUdpTransport |
| A Transport that communicates on a unicast UDP socket. More... | |
| class | UnixStreamChannel |
| Class implementing a local channel to create faces. More... | |
| class | UnixStreamFactory |
| protocol factory for stream-oriented Unix sockets More... | |
| class | UnixStreamTransport |
| A Transport that communicates on a stream-oriented Unix domain socket. More... | |
| class | WebSocketChannel |
| Class implementing WebSocket-based channel to create faces. More... | |
| class | WebSocketFactory |
| protocol factory for WebSocket More... | |
| class | WebSocketTransport |
| A Transport that communicates on a WebSocket connection. More... | |
| class | WebSocketTransportCounters |
| counters provided by WebSocketTransport More... | |
Typedefs | |
| using | DetermineFaceScopeFromAddress = std::function< ndn::nfd::FaceScope(const boost::asio::ip::address &local, const boost::asio::ip::address &remote)> |
| using | FaceCreatedCallback = std::function< void(const shared_ptr< Face > &face)> |
| Prototype for the callback that is invoked when a face is created (in response to an incoming connection or after a connection is established) More... | |
| using | FaceCreationFailedCallback = std::function< void(uint32_t status, const std::string &reason)> |
| Prototype for the callback that is invoked when a face fails to be created. More... | |
| typedef uint64_t | FaceId |
| identifies a face More... | |
| typedef TransportState | FaceState |
| indicates the state of a face More... | |
Enumerations | |
| enum | TransportState { TransportState::NONE, TransportState::UP, TransportState::DOWN, TransportState::CLOSING, TransportState::FAILED, TransportState::CLOSED } |
| indicates the state of a transport More... | |
Functions | |
| static void | asyncReceive (InternalTransportBase *recipient, const Block &packet) |
| static void | bindToDevice (int fd, const std::string &ifname) |
| void | connectFaceClosedSignal (Face &face, const std::function< void()> &f) |
| invokes a callback when the face is closed More... | |
| ssize_t | getTxQueueLength (int fd) |
| obtain send queue length from a specified system socket More... | |
| static bool | isLoopback (const boost::asio::ip::address &addr) |
| std::tuple< shared_ptr< Face >, shared_ptr< ndn::Face > > | makeInternalFace (ndn::KeyChain &clientKeyChain) |
| make a pair of forwarder-side face and client-side face that are connected with each other More... | |
| shared_ptr< Face > | makeNullFace (const FaceUri &uri) |
| std::ostream & | operator<< (std::ostream &os, TransportState state) |
| std::ostream & | operator<< (std::ostream &os, const FaceLogHelper< Face > &flh) |
| std::ostream & | operator<< (std::ostream &os, const FaceLogHelper< LinkService > &flh) |
| std::ostream & | operator<< (std::ostream &os, const FaceLogHelper< LpFragmenter > &flh) |
| std::ostream & | operator<< (std::ostream &os, const FaceLogHelper< LpReassembler > &flh) |
| std::ostream & | operator<< (std::ostream &os, const FaceLogHelper< Transport > &flh) |
| template<typename T > | |
| std::enable_if< std::is_base_of< LinkService, T >::value &&!std::is_same< LinkService, T >::value, std::ostream & >::type | operator<< (std::ostream &os, const FaceLogHelper< T > &flh) |
| template<typename T > | |
| std::enable_if< std::is_base_of< Transport, T >::value &&!std::is_same< Transport, T >::value, std::ostream & >::type | operator<< (std::ostream &os, const FaceLogHelper< T > &flh) |
| static optional< ip::address > | pickAddress (const net::NetworkInterface &netif, net::AddressFamily af) |
Variables | |
| constexpr uint32_t | DEFAULT_CONGESTION_THRESHOLD_DIVISOR = 2 |
| const FaceId | FACEID_CONTENT_STORE = 254 |
| identifies a packet comes from the ContentStore More... | |
| const FaceId | FACEID_INTERNAL_FACE = 1 |
| identifies the InternalFace used in management More... | |
| const FaceId | FACEID_NULL = 255 |
| identifies the NullFace that drops every packet More... | |
| const FaceId | FACEID_RESERVED_MAX = 255 |
| upper bound of reserved FaceIds More... | |
| static class nfd::face::NfdAutoEthernetFactoryProtocolFactoryRegistrationClass | g_nfdAutoEthernetFactoryProtocolFactoryRegistrationVariable |
| static class nfd::face::NfdAutoTcpFactoryProtocolFactoryRegistrationClass | g_nfdAutoTcpFactoryProtocolFactoryRegistrationVariable |
| static class nfd::face::NfdAutoUdpFactoryProtocolFactoryRegistrationClass | g_nfdAutoUdpFactoryProtocolFactoryRegistrationVariable |
| static class nfd::face::NfdAutoUnixStreamFactoryProtocolFactoryRegistrationClass | g_nfdAutoUnixStreamFactoryProtocolFactoryRegistrationVariable |
| static class nfd::face::NfdAutoWebSocketFactoryProtocolFactoryRegistrationClass | g_nfdAutoWebSocketFactoryProtocolFactoryRegistrationVariable |
| const FaceId | INVALID_FACEID = 0 |
| indicates an invalid FaceId More... | |
| static const size_t | MAX_FRAG_OVERHEAD |
| maximum overhead of adding fragmentation to payload, not counting other NDNLPv2 headers More... | |
| static const size_t | MAX_SINGLE_FRAG_OVERHEAD |
| maximum overhead on a single fragment, not counting other NDNLPv2 headers More... | |
| const ssize_t | MTU_INVALID = -2 |
| (for internal use) indicates MTU field is unset More... | |
| const ssize_t | MTU_UNLIMITED = -1 |
| indicates the transport has no limit on payload size More... | |
| const ssize_t | QUEUE_ERROR = -2 |
| indicates that the transport was unable to retrieve the queue capacity/length More... | |
| const ssize_t | QUEUE_UNSUPPORTED = -1 |
| indicates that the transport does not support reading the queue capacity/length More... | |
| using nfd::face::DetermineFaceScopeFromAddress = typedef std::function<ndn::nfd::FaceScope(const boost::asio::ip::address& local, const boost::asio::ip::address& remote)> |
Definition at line 41 of file tcp-channel.hpp.
| using nfd::face::FaceCreatedCallback = typedef std::function<void(const shared_ptr<Face>& face)> |
Prototype for the callback that is invoked when a face is created (in response to an incoming connection or after a connection is established)
Definition at line 40 of file channel.hpp.
| using nfd::face::FaceCreationFailedCallback = typedef std::function<void(uint32_t status, const std::string& reason)> |
Prototype for the callback that is invoked when a face fails to be created.
Definition at line 44 of file channel.hpp.
| typedef uint64_t nfd::face::FaceId |
| typedef TransportState nfd::face::FaceState |
|
strong |
indicates the state of a transport
Definition at line 42 of file transport.hpp.
|
static |
Definition at line 75 of file internal-transport.cpp.
|
static |
Definition at line 113 of file multicast-udp-transport.cpp.
| void nfd::face::connectFaceClosedSignal | ( | Face & | face, |
| const std::function< void()> & | f | ||
| ) |
invokes a callback when the face is closed
| face | the face |
| f | the callback to be invoked when the face enters CLOSED state |
This function connects a callback to the afterStateChange signal on the face, and invokes f when the state becomes CLOSED.
Definition at line 40 of file channel.cpp.
| ssize_t nfd::face::getTxQueueLength | ( | int | fd | ) |
obtain send queue length from a specified system socket
| fd | file descriptor of the socket |
| QUEUE_UNSUPPORTED | this operation is unsupported on the current platform |
| QUEUE_ERROR | there was an error retrieving the send queue length |
On Linux, ioctl() is used to obtain the value of SIOCOUTQ from the socket. On macOS, getsockopt() is used to obtain the value of SO_NWRITE from the socket.
Definition at line 40 of file socket-utils.cpp.
|
static |
Definition at line 34 of file websocket-transport.cpp.
| std::tuple< shared_ptr< Face >, shared_ptr< ndn::Face > > nfd::face::makeInternalFace | ( | ndn::KeyChain & | clientKeyChain | ) |
make a pair of forwarder-side face and client-side face that are connected with each other
Network-layer packets sent by one face will be received by the other face after io.poll().
| clientKeyChain | A KeyChain used by client-side face to sign prefix registration commands. |
Definition at line 35 of file internal-face.cpp.
| shared_ptr< Face > nfd::face::makeNullFace | ( | const FaceUri & | uri = FaceUri("null://") | ) |
Definition at line 37 of file null-face.cpp.
| std::ostream & nfd::face::operator<< | ( | std::ostream & | os, |
| TransportState | state | ||
| ) |
Definition at line 37 of file transport.cpp.
| std::ostream & nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< Face > & | flh | ||
| ) |
| std::ostream & nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< LinkService > & | flh | ||
| ) |
Definition at line 125 of file link-service.cpp.
| std::ostream & nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< LpFragmenter > & | flh | ||
| ) |
Definition at line 146 of file lp-fragmenter.cpp.
| std::ostream & nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< LpReassembler > & | flh | ||
| ) |
Definition at line 158 of file lp-reassembler.cpp.
| std::ostream & nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< Transport > & | flh | ||
| ) |
Definition at line 217 of file transport.cpp.
| std::enable_if<std::is_base_of<LinkService, T>::value && !std::is_same<LinkService, T>::value, std::ostream&>::type nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< T > & | flh | ||
| ) |
Definition at line 248 of file link-service.hpp.
| std::enable_if<std::is_base_of<Transport, T>::value && !std::is_same<Transport, T>::value, std::ostream&>::type nfd::face::operator<< | ( | std::ostream & | os, |
| const FaceLogHelper< T > & | flh | ||
| ) |
Definition at line 517 of file transport.hpp.
|
static |
Definition at line 375 of file udp-factory.cpp.
| constexpr uint32_t nfd::face::DEFAULT_CONGESTION_THRESHOLD_DIVISOR = 2 |
Definition at line 37 of file generic-link-service.cpp.
| const FaceId nfd::face::FACEID_CONTENT_STORE = 254 |
| const FaceId nfd::face::FACEID_INTERNAL_FACE = 1 |
| const FaceId nfd::face::FACEID_NULL = 255 |
| const FaceId nfd::face::FACEID_RESERVED_MAX = 255 |
|
static |
|
static |
|
static |
|
static |
|
static |
| const FaceId nfd::face::INVALID_FACEID = 0 |
|
static |
maximum overhead of adding fragmentation to payload, not counting other NDNLPv2 headers
Definition at line 53 of file lp-fragmenter.cpp.
|
static |
maximum overhead on a single fragment, not counting other NDNLPv2 headers
Definition at line 45 of file lp-fragmenter.cpp.
| const ssize_t nfd::face::MTU_INVALID = -2 |
(for internal use) indicates MTU field is unset
Definition at line 100 of file transport.hpp.
| const ssize_t nfd::face::MTU_UNLIMITED = -1 |
indicates the transport has no limit on payload size
Definition at line 96 of file transport.hpp.
| const ssize_t nfd::face::QUEUE_ERROR = -2 |
indicates that the transport was unable to retrieve the queue capacity/length
Definition at line 108 of file transport.hpp.
| const ssize_t nfd::face::QUEUE_UNSUPPORTED = -1 |
indicates that the transport does not support reading the queue capacity/length
Definition at line 104 of file transport.hpp.