NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: 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)
 
shared_ptr< EthernetChannelcreateChannel (const shared_ptr< const ndn::net::NetworkInterface > &localEndpoint, time::nanoseconds idleTimeout)
 Create Ethernet-based channel on the specified network interface. More...
 
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
 ProtocolFactory (const CtorParams &params)
 
virtual ~ProtocolFactory ()=0
 
const std::set< std::string > & getProvidedSchemes () const
 Get FaceUri schemes accepted by this protocol factory. More...
 
void processConfig (OptionalConfigSection configSection, FaceSystem::ConfigContext &context)
 Process face_system subsection that corresponds to this protocol factory id. More...
 
void createFace (const CreateFaceRequest &req, const FaceCreatedCallback &onCreated, const FaceCreationFailedCallback &onFailure)
 Create a unicast face. More...
 
shared_ptr< FacecreateNetdevBoundFace (const FaceUri &remote, const shared_ptr< const ndn::net::NetworkInterface > &netdev)
 Create a netdev-bound face. More...
 
std::vector< shared_ptr< const Channel > > getChannels () const
 Get list of open channels (listening + non-listening) More...
 

Static Public Member Functions

static const std::string & getId () noexcept
 
- 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 all registered protocol factory ids. More...
 
static const std::string & getId () noexcept
 Get id for this protocol factory. More...
 

Additional Inherited Members

- Public Types inherited from nfd::face::ProtocolFactory
using CtorParams = ProtocolFactoryCtorParams
 
- 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 protocol factory. 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

◆ EthernetFactory()

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

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

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

Member Function Documentation

◆ getId()

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

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

◆ createChannel()

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 219 of file ethernet-factory.cpp.

References ndn::net::NetworkInterface::getName().

◆ createMulticastFace()

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

Create a face to communicate on the given Ethernet multicast group.

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

Parameters
localEndpointlocal network interface
groupmulticast group address
Exceptions
EthernetTransport::Errortransport creation fails

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

References nfd::face::GenericLinkService::Options::allowFragmentation, nfd::face::GenericLinkService::Options::allowReassembly, nfd::face::connectFaceClosedSignal(), ndn::net::NetworkInterface::getName(), ndn::ethernet::Address::isMulticast(), and nonstd::optional_lite::std11::move().


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