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

protocol factory for Ethernet More...

#include <ethernet-factory.hpp>

Inheritance diagram for nfd::face::EthernetFactory:
Collaboration diagram for nfd::face::EthernetFactory:

Public Member Functions

 EthernetFactory (const CtorParams &params)
 
void processConfig (OptionalConfigSection configSection, FaceSystem::ConfigContext &context) override
 process face_system.ether config section More...
 
void createFace (const CreateFaceParams &params, const FaceCreatedCallback &onCreated, const FaceCreationFailedCallback &onFailure) override
 Try to create face using the supplied parameters. More...
 
shared_ptr< EthernetChannelcreateChannel (const shared_ptr< const ndn::net::NetworkInterface > &localEndpoint, time::nanoseconds idleTimeout)
 Create Ethernet-based channel on the specified network interface. More...
 
std::vector< shared_ptr< const Channel > > getChannels () const override
 
shared_ptr< FacecreateMulticastFace (const ndn::net::NetworkInterface &localEndpoint, const ethernet::Address &group)
 Create a face to communicate on the given Ethernet multicast group. More...
 
- Public Member Functions inherited from nfd::face::ProtocolFactory
virtual ~ProtocolFactory ()=default
 
const std::set< std::string > & getProvidedSchemes ()
 Get FaceUri schemes accepted by this ProtocolFactory. More...
 

Static Public Member Functions

static const std::string & getId ()
 
- Static Public Member Functions inherited from nfd::face::ProtocolFactory
template<typename PF >
static void registerType (const std::string &id=PF::getId())
 Register a protocol factory type. More...
 
static unique_ptr< ProtocolFactorycreate (const std::string &id, const CtorParams &params)
 Create a protocol factory instance. More...
 
static std::set< std::string > listRegistered ()
 Get registered protocol factory ids. More...
 
static const std::string & getId ()
 Get id for this ProtocolFactory. More...
 

Additional Inherited Members

- Public Types inherited from nfd::face::ProtocolFactory
using CtorParams = ProtocolFactoryCtorParams
 
- Protected Member Functions inherited from nfd::face::ProtocolFactory
 ProtocolFactory (const CtorParams &params)
 
- Static Protected Member Functions inherited from nfd::face::ProtocolFactory
template<typename ChannelMap >
static std::vector< shared_ptr< const Channel > > getChannelsFromMap (const ChannelMap &channelMap)
 
- Protected Attributes inherited from nfd::face::ProtocolFactory
std::set< std::string > providedSchemes
 FaceUri schemes provided by this ProtocolFactory. More...
 
FaceCreatedCallback addFace
 callback when a new face is created More...
 
shared_ptr< ndn::net::NetworkMonitornetmon
 NetworkMonitor for listing available network interfaces and monitoring their changes. More...
 

Detailed Description

protocol factory for Ethernet

Definition at line 37 of file ethernet-factory.hpp.

Constructor & Destructor Documentation

nfd::face::EthernetFactory::EthernetFactory ( const CtorParams params)
explicit

Definition at line 45 of file ethernet-factory.cpp.

References nfd::face::ProtocolFactory::netmon.

Member Function Documentation

const std::string & nfd::face::EthernetFactory::getId ( )
static

Definition at line 39 of file ethernet-factory.cpp.

void nfd::face::EthernetFactory::processConfig ( OptionalConfigSection  configSection,
FaceSystem::ConfigContext context 
)
overridevirtual
void nfd::face::EthernetFactory::createFace ( const CreateFaceParams params,
const FaceCreatedCallback onCreated,
const FaceCreationFailedCallback onFailure 
)
overridevirtual

Try to create face using the supplied parameters.

Parameters
paramsparameters to create face with
onCreatedcallback if face creation succeeds or face already exists; persistency and local fields settings are not updated on an existing face
onFailurecallback if face creation fails

Implements nfd::face::ProtocolFactory.

Definition at line 168 of file ethernet-factory.cpp.

References ndn::nfd::FACE_PERSISTENCY_ON_DEMAND, ndn::ethernet::Address::fromString(), ndn::FaceUri::getHost(), ndn::FaceUri::isCanonical(), ndn::ethernet::Address::isMulticast(), nfd::face::ProtocolFactory::CreateFaceParams::localUri, NFD_LOG_TRACE, nfd::face::ProtocolFactory::CreateFaceParams::persistency, nfd::face::ProtocolFactory::CreateFaceParams::remoteUri, nfd::face::ProtocolFactory::CreateFaceParams::wantLocalFields, and nfd::face::ProtocolFactory::CreateFaceParams::wantLpReliability.

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

Create Ethernet-based channel on the specified network interface.

If this method is called twice with the same endpoint, only one channel will be created. The second call will just return the existing channel.

Returns
always a valid pointer to a EthernetChannel object, an exception is thrown if it cannot be created.
Exceptions
PcapHelper::Errorchannel creation failed

Definition at line 216 of file ethernet-factory.cpp.

Referenced by createMulticastFace().

std::vector< shared_ptr< const Channel > > nfd::face::EthernetFactory::getChannels ( ) const
overridevirtual
shared_ptr< Face > nfd::face::EthernetFactory::createMulticastFace ( const ndn::net::NetworkInterface localEndpoint,
const ethernet::Address group 
)

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