provide support for an underlying protocol More...
#include <protocol-factory.hpp>
Classes | |
class | Error |
Base class for all exceptions thrown by protocol factories. More... | |
Public Member Functions | |
virtual | ~ProtocolFactory ()=default |
virtual void | processConfig (OptionalConfigSection configSection, FaceSystem::ConfigContext &context) |
process face_system subsection that corresponds to this ProtocolFactory type More... | |
const std::set< std::string > & | getProvidedSchemes () |
virtual void | createFace (const FaceUri &uri, ndn::nfd::FacePersistency persistency, bool wantLocalFieldsEnabled, const FaceCreatedCallback &onCreated, const FaceCreationFailedCallback &onFailure)=0 |
Try to create Face using the supplied FaceUri. More... | |
virtual std::vector< shared_ptr< const Channel > > | getChannels () const =0 |
Static Public Member Functions | |
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) |
static std::set< std::string > | listRegistered () |
static const std::string & | getId () |
Static Protected Member Functions | |
template<typename ChannelMap > | |
static std::vector< shared_ptr< const Channel > > | getChannelsFromMap (const ChannelMap &channelMap) |
Protected Attributes | |
std::set< std::string > | providedSchemes |
FaceUri schemes provided by this ProtocolFactory. More... | |
provide support for an underlying protocol
A protocol factory provides support for an underlying protocol and owns Channel objects. It can process a subsection of face_system config section and create channels and multicast faces accordingly.
Definition at line 45 of file protocol-factory.hpp.
|
virtualdefault |
|
static |
nullptr | if factory with id is not registered |
Definition at line 41 of file protocol-factory.cpp.
|
pure virtual |
Try to create Face using the supplied FaceUri.
This method should automatically choose channel, based on supplied FaceUri and create face.
uri | remote URI of the new face |
persistency | persistency of the new face |
wantLocalFieldsEnabled | whether local fields should be enabled on the face |
onCreated | callback if face creation succeeds If a face with the same remote URI already exists, its persistency and LocalFieldsEnabled setting will not be modified. |
onFailure | callback if face creation fails |
Implemented in nfd::face::UdpFactory, nfd::face::EthernetFactory, nfd::face::WebSocketFactory, nfd::face::TcpFactory, and nfd::face::UnixStreamFactory.
|
pure virtual |
|
inlinestaticprotected |
Definition at line 147 of file protocol-factory.hpp.
|
static |
face_system.factory-id config section is processed by the protocol factory.
|
inline |
Definition at line 116 of file protocol-factory.hpp.
|
static |
Definition at line 49 of file protocol-factory.cpp.
|
inlinevirtual |
process face_system subsection that corresponds to this ProtocolFactory type
configSection | the configuration section or boost::null to indicate it is omitted |
context | provides access to data structures and contextual information |
ConfigFile::Error | invalid configuration |
This function updates providedSchemes
Reimplemented in nfd::face::UdpFactory, nfd::face::EthernetFactory, nfd::face::TcpFactory, nfd::face::UnixStreamFactory, and nfd::face::WebSocketFactory.
Definition at line 106 of file protocol-factory.hpp.
|
inlinestatic |
register a protocol factory type
S | subclass of ProtocolFactory |
id | factory identifier |
Definition at line 54 of file protocol-factory.hpp.
|
protected |
FaceUri schemes provided by this ProtocolFactory.
Definition at line 164 of file protocol-factory.hpp.