Class implementing Ethernet-based channel to create faces. More...
#include <ethernet-channel.hpp>
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, ndn::nfd::FacePersistency persistency, bool wantLpReliability, 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 FaceUri & | getUri () const |
Additional Inherited Members | |
Protected Member Functions inherited from nfd::face::Channel | |
void | setUri (const FaceUri &uri) |
Class implementing Ethernet-based channel to create faces.
Definition at line 40 of file ethernet-channel.hpp.
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 40 of file ethernet-channel.cpp.
References ndn::FaceUri::fromDev(), NFD_LOG_CHAN_INFO, and nfd::face::Channel::setUri().
Referenced by nfd::face::EthernetChannel::Error::Error().
|
inlineoverridevirtual |
Returns whether the channel is listening.
Implements nfd::face::Channel.
Definition at line 66 of file ethernet-channel.hpp.
Referenced by listen().
|
inlineoverridevirtual |
Returns the number of faces in the channel.
Implements nfd::face::Channel.
Definition at line 72 of file ethernet-channel.hpp.
void nfd::face::EthernetChannel::connect | ( | const ethernet::Address & | remoteEndpoint, |
ndn::nfd::FacePersistency | persistency, | ||
bool | wantLpReliability, | ||
const FaceCreatedCallback & | onFaceCreated, | ||
const FaceCreationFailedCallback & | onConnectFailed | ||
) |
Create a unicast Ethernet face toward remoteEndpoint
.
remoteEndpoint | The remote Ethernet endpoint |
persistency | Persistency of the newly created face |
wantLpReliability | whether LpReliability should be enabled |
onFaceCreated | Callback to notify successful creation of the face |
onConnectFailed | Callback to notify errors |
Definition at line 56 of file ethernet-channel.cpp.
References NFD_LOG_CHAN_DEBUG.
Referenced by size().
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.
onFaceCreated | Callback to notify successful creation of a face |
onFaceCreationFailed | Callback to notify errors |
Error |
Definition at line 79 of file ethernet-channel.cpp.
References nfd::face::PcapHelper::activate(), nfd::face::GenericLinkService::Options::allowFragmentation, nfd::face::GenericLinkService::Options::allowReassembly, nfd::ethernet::checkFrameHeader(), nfd::face::connectFaceClosedSignal(), ndn::ethernet::ETHERTYPE_NDN, ndn::nfd::FACE_PERSISTENCY_ON_DEMAND, nfd::face::PcapHelper::getFd(), nfd::face::PcapHelper::getNDropped(), ndn::ethernet::HDR_LEN, nfd::face::LpReliability::Options::isEnabled, isListening(), NFD_LOG_CHAN_DEBUG, NFD_LOG_CHAN_TRACE, NFD_LOG_CHAN_WARN, websocketpp::transport::error::operation_aborted, nfd::face::PcapHelper::readNextPacket(), nfd::face::EthernetTransport::receivePayload(), nfd::face::GenericLinkService::Options::reliabilityOptions, nfd::face::PcapHelper::setPacketFilter(), and ndn::to_string().
Referenced by size().