nfd::face::UnixStreamFactory Class Reference

protocol factory for stream-oriented Unix sockets More...

#include <unix-stream-factory.hpp>

Inheritance diagram for nfd::face::UnixStreamFactory:
Collaboration diagram for nfd::face::UnixStreamFactory:

Public Member Functions

void processConfig (OptionalConfigSection configSection, FaceSystem::ConfigContext &context) override
 process face_system.unix config section More...
 
void createFace (const FaceUri &uri, ndn::nfd::FacePersistency persistency, bool wantLocalFieldsEnabled, const FaceCreatedCallback &onCreated, const FaceCreationFailedCallback &onFailure) override
 Try to create Face using the supplied FaceUri. More...
 
shared_ptr< UnixStreamChannelcreateChannel (const std::string &unixSocketPath)
 Create stream-oriented Unix channel using specified socket path. More...
 
std::vector< shared_ptr< const Channel > > getChannels () const override
 
const std::set< std::string > & getProvidedSchemes ()
 

Static Public Member Functions

static const std::string & getId ()
 
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)
 
static std::set< std::string > listRegistered ()
 

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...
 

Detailed Description

protocol factory for stream-oriented Unix sockets

Definition at line 37 of file unix-stream-factory.hpp.

Member Function Documentation

unique_ptr< ProtocolFactory > nfd::face::ProtocolFactory::create ( const std::string &  id)
staticinherited
Returns
a protocol factory instance
Return values
nullptrif factory with id is not registered

Definition at line 41 of file protocol-factory.cpp.

shared_ptr< UnixStreamChannel > nfd::face::UnixStreamFactory::createChannel ( const std::string &  unixSocketPath)

Create stream-oriented Unix channel using specified socket path.

If this method is called twice with the same path, only one channel will be created. The second call will just retrieve the existing channel.

Returns
always a valid pointer to a UnixStreamChannel object, an exception will be thrown if the channel cannot be created.

Definition at line 94 of file unix-stream-factory.cpp.

void nfd::face::UnixStreamFactory::createFace ( const FaceUri &  uri,
ndn::nfd::FacePersistency  persistency,
bool  wantLocalFieldsEnabled,
const FaceCreatedCallback onCreated,
const FaceCreationFailedCallback onFailure 
)
overridevirtual

Try to create Face using the supplied FaceUri.

This method should automatically choose channel, based on supplied FaceUri and create face.

Parameters
uriremote URI of the new face
persistencypersistency of the new face
wantLocalFieldsEnabledwhether local fields should be enabled on the face
onCreatedcallback if face creation succeeds If a face with the same remote URI already exists, its persistency and LocalFieldsEnabled setting will not be modified.
onFailurecallback if face creation fails

Implements nfd::face::ProtocolFactory.

Definition at line 84 of file unix-stream-factory.cpp.

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

Implements nfd::face::ProtocolFactory.

Definition at line 110 of file unix-stream-factory.cpp.

template<typename ChannelMap >
static std::vector<shared_ptr<const Channel> > nfd::face::ProtocolFactory::getChannelsFromMap ( const ChannelMap &  channelMap)
inlinestaticprotectedinherited

Definition at line 147 of file protocol-factory.hpp.

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

Definition at line 38 of file unix-stream-factory.cpp.

const std::set<std::string>& nfd::face::ProtocolFactory::getProvidedSchemes ( )
inlineinherited
Returns
FaceUri schemes accepted by this ProtocolFactory

Definition at line 116 of file protocol-factory.hpp.

std::set< std::string > nfd::face::ProtocolFactory::listRegistered ( )
staticinherited
Returns
registered protocol factory ids

Definition at line 49 of file protocol-factory.cpp.

void nfd::face::UnixStreamFactory::processConfig ( OptionalConfigSection  configSection,
FaceSystem::ConfigContext context 
)
overridevirtual

process face_system.unix config section

Reimplemented from nfd::face::ProtocolFactory.

Definition at line 46 of file unix-stream-factory.cpp.

template<typename PF >
static void nfd::face::ProtocolFactory::registerType ( const std::string &  id = PF::getId())
inlinestaticinherited

register a protocol factory type

Template Parameters
Ssubclass of ProtocolFactory
Parameters
idfactory identifier

Definition at line 54 of file protocol-factory.hpp.

Member Data Documentation

std::set<std::string> nfd::face::ProtocolFactory::providedSchemes
protectedinherited

FaceUri schemes provided by this ProtocolFactory.

Definition at line 164 of file protocol-factory.hpp.