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

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

 TcpFactory (const CtorParams &params)
 
void processConfig (OptionalConfigSection configSection, FaceSystem::ConfigContext &context) override
 process face_system.tcp config section More...
 
void createFace (const CreateFaceRequest &req, const FaceCreatedCallback &onCreated, const FaceCreationFailedCallback &onFailure) override
 Try to create a unicast face using the supplied parameters. More...
 
shared_ptr< TcpChannelcreateChannel (const tcp::Endpoint &localEndpoint)
 Create TCP-based channel using tcp::Endpoint. More...
 
std::vector< shared_ptr< const Channel > > getChannels () const override
 
- 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 TCP over IPv4 and IPv6

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

Constructor & Destructor Documentation

◆ TcpFactory()

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

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

Member Function Documentation

◆ getId()

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

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

◆ processConfig()

◆ createFace()

void nfd::face::TcpFactory::createFace ( const CreateFaceRequest req,
const FaceCreatedCallback onCreated,
const FaceCreationFailedCallback onFailure 
)
overridevirtual

Try to create a unicast face using the supplied parameters.

Parameters
reqrequest object containing the face creation parameters
onCreatedcallback if face creation succeeds or face already exists; the settings of an existing face are not updated if they differ from the request
onFailurecallback if face creation fails

Implements nfd::face::ProtocolFactory.

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

References ndn::ip::addressFromString(), ndn::nfd::FACE_PERSISTENCY_ON_DEMAND, ndn::FaceUri::getHost(), ndn::FaceUri::getPort(), ndn::FaceUri::isCanonical(), nfd::face::ProtocolFactory::CreateFaceRequest::localUri, NFD_LOG_TRACE, nfd::face::ProtocolFactory::CreateFaceRequest::params, nfd::face::FaceParams::persistency, nfd::face::ProtocolFactory::CreateFaceRequest::remoteUri, and nfd::face::FaceParams::wantLocalFields.

◆ 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 176 of file tcp-factory.cpp.

Referenced by processConfig().

◆ getChannels()

std::vector< shared_ptr< const Channel > > nfd::face::TcpFactory::getChannels ( ) const
overridevirtual

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