Protocol factory for WebSocket.
More...
#include <daemon/face/websocket-factory.hpp>
|
static unique_ptr< ProtocolFactory > | create (const std::string &id, const CtorParams ¶ms) |
| Create a protocol factory instance.
|
|
static const std::string & | getId () noexcept |
|
static std::set< std::string > | listRegistered () |
| Get all registered protocol factory IDs.
|
|
template<typename PF > |
static void | registerType (const std::string &id=PF::getId()) |
| Register a protocol factory type.
|
|
|
template<typename ChannelMap > |
static std::vector< shared_ptr< const Channel > > | getChannelsFromMap (const ChannelMap &channelMap) |
|
|
FaceCreatedCallback | addFace |
| callback when a new face is created
|
|
shared_ptr< ndn::net::NetworkMonitor > | netmon |
| NetworkMonitor for listing available network interfaces and monitoring their changes.
|
|
std::set< std::string > | providedSchemes |
| FaceUri schemes provided by this protocol factory.
|
|
Protocol factory for WebSocket.
Definition at line 37 of file websocket-factory.hpp.
◆ CtorParams
◆ create()
Create a protocol factory instance.
- Return values
-
nullptr | if a factory with the given id is not registered |
Definition at line 41 of file protocol-factory.cpp.
◆ createChannel()
Create WebSocket-based channel using websocket::Endpoint.
websocket::Endpoint is an alias for boost::asio::ip::tcp::endpoint.
If this method called twice with the same endpoint, only one channel will be created. The second call will just retrieve the existing channel.
- Returns
- Always a valid pointer to a WebSocketChannel object, an exception is thrown if it cannot be created.
Definition at line 117 of file websocket-factory.cpp.
◆ createFace()
Create a unicast face.
- 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 |
Definition at line 85 of file protocol-factory.cpp.
◆ createNetdevBoundFace()
shared_ptr< Face > nfd::face::ProtocolFactory::createNetdevBoundFace |
( |
const FaceUri & |
remote, |
|
|
const shared_ptr< const ndn::net::NetworkInterface > & |
netdev |
|
) |
| |
|
inherited |
Create a netdev-bound face.
- Parameters
-
remote | remote FaceUri, must be canonical |
netdev | local network interface |
- Returns
- new face
- Exceptions
-
Error | cannot create a face using specified arguments |
- Note
- The caller must ensure there is no existing netdev-bound face with same remote FaceUri on the same local network interface.
Definition at line 105 of file protocol-factory.cpp.
◆ getChannels()
std::vector< shared_ptr< const Channel > > nfd::face::ProtocolFactory::getChannels |
( |
| ) |
const |
|
inherited |
◆ getChannelsFromMap()
template<typename ChannelMap >
static std::vector< shared_ptr< const Channel > > nfd::face::ProtocolFactory::getChannelsFromMap |
( |
const ChannelMap & |
channelMap | ) |
|
|
inlinestaticprotectedinherited |
◆ getId()
const std::string & nfd::face::WebSocketFactory::getId |
( |
| ) |
|
|
staticnoexcept |
◆ getProvidedSchemes()
const std::set< std::string > & nfd::face::ProtocolFactory::getProvidedSchemes |
( |
| ) |
const |
|
inlinenoexceptinherited |
◆ listRegistered()
std::set< std::string > nfd::face::ProtocolFactory::listRegistered |
( |
| ) |
|
|
staticinherited |
◆ processConfig()
Process face_system subsection that corresponds to this protocol factory id.
- Parameters
-
configSection | the configuration section or boost::none to indicate it is omitted |
context | provides access to data structures and contextual information |
- Exceptions
-
Definition at line 72 of file protocol-factory.cpp.
◆ ProtocolFactory()
nfd::face::ProtocolFactory::ProtocolFactory |
( |
const CtorParams & |
params | ) |
|
|
explicit |
◆ registerType()
template<typename PF >
static void nfd::face::ProtocolFactory::registerType |
( |
const std::string & |
id = PF::getId() | ) |
|
|
inlinestaticinherited |
Register a protocol factory type.
- Template Parameters
-
- Parameters
-
Definition at line 78 of file protocol-factory.hpp.
◆ addFace
◆ netmon
shared_ptr<ndn::net::NetworkMonitor> nfd::face::ProtocolFactory::netmon |
|
protectedinherited |
NetworkMonitor for listing available network interfaces and monitoring their changes.
ProtocolFactory subclass should check the NetworkMonitor has sufficient capabilities prior to usage.
Definition at line 261 of file protocol-factory.hpp.
◆ providedSchemes
std::set<std::string> nfd::face::ProtocolFactory::providedSchemes |
|
protectedinherited |