protocol factory for TCP over IPv4 and IPv6 More...
#include <tcp-factory.hpp>
Public Member Functions | |
TcpFactory (const CtorParams ¶ms) | |
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< TcpChannel > | createChannel (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< ProtocolFactory > | create (const std::string &id, const CtorParams ¶ms) |
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 ¶ms) | |
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::NetworkMonitor > | netmon |
NetworkMonitor for listing available network interfaces and monitoring their changes. More... | |
protocol factory for TCP over IPv4 and IPv6
Definition at line 37 of file tcp-factory.hpp.
|
explicit |
Definition at line 45 of file tcp-factory.cpp.
|
static |
Definition at line 39 of file tcp-factory.cpp.
|
overridevirtual |
process face_system.tcp config section
Implements nfd::face::ProtocolFactory.
Definition at line 51 of file tcp-factory.cpp.
References nfd::face::ProtocolFactory::addFace, createChannel(), nfd::face::FaceSystem::ConfigContext::generalConfig, nfd::face::FaceSystem::ConfigContext::isDryRun, NFD_LOG_WARN, nfd::ConfigFile::parseYesNo(), nfd::face::ProtocolFactory::providedSchemes, and nfd::face::FaceSystem::GeneralConfig::wantCongestionMarking.
|
overridevirtual |
Try to create a unicast face using the supplied parameters.
req | request object containing the face creation parameters |
onCreated | callback if face creation succeeds or face already exists; the settings of an existing face are not updated if they differ from the request |
onFailure | callback 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.
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.
Definition at line 176 of file tcp-factory.cpp.
Referenced by processConfig().
|
overridevirtual |
Implements nfd::face::ProtocolFactory.
Definition at line 188 of file tcp-factory.cpp.
References nfd::face::ProtocolFactory::getChannelsFromMap().