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

Protocol factory for TCP over IPv4 and IPv6. More...

#include <tcp-factory.hpp>

Inheritance diagram for nfd::face::TcpFactory:
Collaboration diagram for nfd::face::TcpFactory:

Public Member Functions

shared_ptr< TcpChannelcreateChannel (const tcp::Endpoint &localEndpoint)
 Create TCP-based channel using tcp::Endpoint. 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 TCP over IPv4 and IPv6.

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

Member Function Documentation

◆ getId()

◆ createChannel()

shared_ptr< TcpChannel > nfd::face::TcpFactory::createChannel ( const tcp::Endpoint localEndpoint)

Create TCP-based channel using tcp::Endpoint.

tcp::Endpoint is really an alias for boost::asio::ip::tcp::endpoint.

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 TcpChannel object, an exception is thrown if it cannot be created.

Definition at line 197 of file tcp-factory.cpp.

References ndn::nfd::FACE_SCOPE_LOCAL, ndn::nfd::FACE_SCOPE_NON_LOCAL, and nfd::face::ProtocolFactory::getChannelsFromMap().

Referenced by getId().


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