NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::face::EthernetChannel Class Reference

Class implementing Ethernet-based channel to create faces. More...

#include <ethernet-channel.hpp>

Inheritance diagram for nfd::face::EthernetChannel:
Collaboration diagram for nfd::face::EthernetChannel:

Classes

class  Error
 EthernetChannel-related error. More...
 

Public Member Functions

 EthernetChannel (shared_ptr< const ndn::net::NetworkInterface > localEndpoint, time::nanoseconds idleTimeout)
 Create an Ethernet channel on the given localEndpoint (network interface) More...
 
bool isListening () const override
 Returns whether the channel is listening. More...
 
size_t size () const override
 Returns the number of faces in the channel. More...
 
void connect (const ethernet::Address &remoteEndpoint, const FaceParams &params, const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onConnectFailed)
 Create a unicast Ethernet face toward remoteEndpoint. More...
 
void listen (const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onFaceCreationFailed)
 Start listening. More...
 
- Public Member Functions inherited from nfd::face::Channel
virtual ~Channel ()
 
const FaceUrigetUri () const
 

Additional Inherited Members

- Protected Member Functions inherited from nfd::face::Channel
void setUri (const FaceUri &uri)
 

Detailed Description

Class implementing Ethernet-based channel to create faces.

Definition at line 40 of file ethernet-channel.hpp.

Constructor & Destructor Documentation

◆ EthernetChannel()

nfd::face::EthernetChannel::EthernetChannel ( shared_ptr< const ndn::net::NetworkInterface localEndpoint,
time::nanoseconds  idleTimeout 
)

Create an Ethernet channel on the given localEndpoint (network interface)

To enable creation of faces upon incoming connections, one needs to explicitly call EthernetChannel::listen method.

Definition at line 41 of file ethernet-channel.cpp.

References ndn::FaceUri::fromDev(), NFD_LOG_CHAN_INFO, and nfd::face::Channel::setUri().

Member Function Documentation

◆ isListening()

bool nfd::face::EthernetChannel::isListening ( ) const
inlineoverridevirtual

Returns whether the channel is listening.

Implements nfd::face::Channel.

Definition at line 66 of file ethernet-channel.hpp.

Referenced by listen().

◆ size()

size_t nfd::face::EthernetChannel::size ( ) const
inlineoverridevirtual

Returns the number of faces in the channel.

Implements nfd::face::Channel.

Definition at line 72 of file ethernet-channel.hpp.

◆ connect()

void nfd::face::EthernetChannel::connect ( const ethernet::Address remoteEndpoint,
const FaceParams params,
const FaceCreatedCallback onFaceCreated,
const FaceCreationFailedCallback onConnectFailed 
)

Create a unicast Ethernet face toward remoteEndpoint.

Definition at line 57 of file ethernet-channel.cpp.

References NFD_LOG_CHAN_DEBUG.

◆ listen()

void nfd::face::EthernetChannel::listen ( const FaceCreatedCallback onFaceCreated,
const FaceCreationFailedCallback onFaceCreationFailed 
)

Start listening.

Enable listening on the local endpoint, waiting for incoming frames, and creating a face when a frame is received from a new remote host.

Faces created in this way will have on-demand persistency.

Parameters
onFaceCreatedCallback to notify successful creation of a face
onFaceCreationFailedCallback to notify errors
Exceptions
Error

Definition at line 79 of file ethernet-channel.cpp.

References nfd::face::PcapHelper::activate(), nfd::face::PcapHelper::getFd(), isListening(), NDN_THROW_NESTED, NFD_LOG_CHAN_DEBUG, and NFD_LOG_CHAN_WARN.


The documentation for this class was generated from the following files: