nfd::face Namespace Reference

Classes

class  DatagramTransport
 Implements Transport for datagram-based protocols. More...
 
class  EthernetTransport
 A multicast Transport that uses raw Ethernet II frames. 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...
 
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...
 
struct  Multicast
 
class  MulticastUdpTransport
 A Transport that communicates on a UDP multicast group. More...
 
class  StreamTransport
 Implements Transport for stream-based protocols. 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...
 
struct  Unicast
 
class  UnicastUdpTransport
 A Transport that communicates on a unicast UDP socket. More...
 
class  UnixStreamTransport
 A Transport that communicates on a stream-oriented Unix domain socket. More...
 
class  WebSocketTransport
 A Transport that communicates on a WebSocket connection. More...
 
class  WebSocketTransportCounters
 counters provided by WebSocketTransport More...
 

Typedefs

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

std::ostream & operator<< (std::ostream &os, const FaceLogHelper< Face > &flh)
 
template<typename T >
std::enable_if< std::is_base_of< Face, T >::value, std::ostream & >::type operator<< (std::ostream &os, const FaceLogHelper< T > &flh)
 
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...
 
static void asyncReceive (InternalTransportBase *recipient, const Block &packet)
 
std::ostream & operator<< (std::ostream &os, const FaceLogHelper< LinkService > &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)
 
std::ostream & operator<< (std::ostream &os, const FaceLogHelper< LpFragmenter > &flh)
 
std::ostream & operator<< (std::ostream &os, const FaceLogHelper< LpReassembler > &flh)
 
shared_ptr< FacemakeNullFace (const FaceUri &uri)
 
std::ostream & operator<< (std::ostream &os, TransportState state)
 
std::ostream & operator<< (std::ostream &os, const FaceLogHelper< Transport > &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 bool isLoopback (const boost::asio::ip::address &addr)
 

Variables

const FaceId INVALID_FACEID = 0
 indicates an invalid FaceId More...
 
const FaceId FACEID_INTERNAL_FACE = 1
 identifies the InternalFace used in management More...
 
const FaceId FACEID_CONTENT_STORE = 254
 identifies a packet comes from the ContentStore 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 const size_t MAX_SINGLE_FRAG_OVERHEAD
 maximum overhead on a single fragment, not counting other NDNLPv2 headers More...
 
static const size_t MAX_FRAG_OVERHEAD
 maximum overhead of adding fragmentation to payload, not counting other NDNLPv2 headers More...
 
const ssize_t MTU_UNLIMITED = -1
 indicates the transport has no limit on payload size More...
 
const ssize_t MTU_INVALID = -2
 (for internal use) indicates MTU field is unset More...
 

Typedef Documentation

typedef uint64_t nfd::face::FaceId

identifies a face

Definition at line 39 of file face.hpp.

indicates the state of a face

Definition at line 54 of file face.hpp.

Enumeration Type Documentation

indicates the state of a transport

Enumerator
NONE 
UP 

the transport is up

DOWN 

the transport is down temporarily, and is being recovered

CLOSING 

the transport is requested to be closed

FAILED 

the transport is being closed due to a failure

CLOSED 

the transport is closed, and can be safely deallocated

Definition at line 41 of file transport.hpp.

Function Documentation

static void nfd::face::asyncReceive ( InternalTransportBase recipient,
const Block &  packet 
)
static

Definition at line 86 of file internal-transport.cpp.

static bool nfd::face::isLoopback ( const boost::asio::ip::address &  addr)
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().

Parameters
clientKeyChainA KeyChain used by client-side face to sign prefix registration commands.
Returns
a forwarder-side face and a client-side face connected with each other

Definition at line 35 of file internal-face.cpp.

shared_ptr< Face > nfd::face::makeNullFace ( const FaceUri &  uri = FaceUri("null://"))
Returns
a Face that has no underlying transport and drops every packet

Definition at line 37 of file null-face.cpp.

std::ostream & nfd::face::operator<< ( std::ostream &  os,
TransportState  state 
)

Definition at line 35 of file transport.cpp.

std::ostream & nfd::face::operator<< ( std::ostream &  os,
const FaceLogHelper< Face > &  flh 
)

Definition at line 46 of file face.cpp.

std::ostream & nfd::face::operator<< ( std::ostream &  os,
const FaceLogHelper< LinkService > &  flh 
)

Definition at line 118 of file link-service.cpp.

std::ostream & nfd::face::operator<< ( std::ostream &  os,
const FaceLogHelper< LpFragmenter > &  flh 
)

Definition at line 150 of file lp-fragmenter.cpp.

std::ostream & nfd::face::operator<< ( std::ostream &  os,
const FaceLogHelper< LpReassembler > &  flh 
)

Definition at line 164 of file lp-reassembler.cpp.

std::ostream & nfd::face::operator<< ( std::ostream &  os,
const FaceLogHelper< Transport > &  flh 
)

Definition at line 190 of file transport.cpp.

template<typename T >
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 236 of file link-service.hpp.

template<typename T >
std::enable_if<std::is_base_of<Face, T>::value, std::ostream&>::type nfd::face::operator<< ( std::ostream &  os,
const FaceLogHelper< T > &  flh 
)

Definition at line 298 of file face.hpp.

template<typename T >
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 446 of file transport.hpp.

Variable Documentation

const FaceId nfd::face::FACEID_CONTENT_STORE = 254

identifies a packet comes from the ContentStore

Definition at line 46 of file face.hpp.

const FaceId nfd::face::FACEID_INTERNAL_FACE = 1

identifies the InternalFace used in management

Definition at line 44 of file face.hpp.

const FaceId nfd::face::FACEID_NULL = 255

identifies the NullFace that drops every packet

Definition at line 48 of file face.hpp.

const FaceId nfd::face::FACEID_RESERVED_MAX = 255

upper bound of reserved FaceIds

Definition at line 50 of file face.hpp.

const FaceId nfd::face::INVALID_FACEID = 0

indicates an invalid FaceId

Definition at line 42 of file face.hpp.

const size_t nfd::face::MAX_FRAG_OVERHEAD
static
Initial value:
=
1 + 9 +
1 + 1 + 8 +
1 + 1 + 8 +
1 + 1 + 8 +
1 + 9

maximum overhead of adding fragmentation to payload, not counting other NDNLPv2 headers

Definition at line 52 of file lp-fragmenter.cpp.

const size_t nfd::face::MAX_SINGLE_FRAG_OVERHEAD
static
Initial value:
=
1 + 9 +
1 + 1 + 8 +
1 + 9

maximum overhead on a single fragment, not counting other NDNLPv2 headers

Definition at line 44 of file lp-fragmenter.cpp.

const ssize_t nfd::face::MTU_INVALID = -2

(for internal use) indicates MTU field is unset

Definition at line 99 of file transport.hpp.

const ssize_t nfd::face::MTU_UNLIMITED = -1

indicates the transport has no limit on payload size

Definition at line 95 of file transport.hpp.