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

Protocol factory for WebSocket. More...

#include <websocket-factory.hpp>

Inheritance diagram for nfd::face::WebSocketFactory:
Collaboration diagram for nfd::face::WebSocketFactory:

Public Member Functions

shared_ptr< WebSocketChannelcreateChannel (const websocket::Endpoint &localEndpoint)
 Create WebSocket-based channel using websocket::Endpoint. More...
 
 ProtocolFactory (const CtorParams &params)
 
- Public Member Functions inherited from nfd::face::ProtocolFactory
 ProtocolFactory (const CtorParams &params)
 
virtual ~ProtocolFactory ()=0
 
const std::set< std::string > & getProvidedSchemes () const
 Get FaceUri schemes accepted by this protocol factory. More...
 
void processConfig (OptionalConfigSection configSection, FaceSystem::ConfigContext &context)
 Process face_system subsection that corresponds to this protocol factory id. More...
 
void createFace (const CreateFaceRequest &req, const FaceCreatedCallback &onCreated, const FaceCreationFailedCallback &onFailure)
 Create a unicast face. More...
 
shared_ptr< FacecreateNetdevBoundFace (const FaceUri &remote, const shared_ptr< const ndn::net::NetworkInterface > &netdev)
 Create a netdev-bound face. More...
 
std::vector< shared_ptr< const Channel > > getChannels () const
 Get list of open channels (listening + non-listening) More...
 

Static Public Member Functions

static const std::string & getId () noexcept
 
- 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 all registered protocol factory ids. More...
 
static const std::string & getId () noexcept
 Get id for this protocol factory. More...
 

Additional Inherited Members

- Public Types inherited from nfd::face::ProtocolFactory
using CtorParams = ProtocolFactoryCtorParams
 
- 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 protocol factory. 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 WebSocket.

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

Member Function Documentation

◆ getId()

const std::string & nfd::face::WebSocketFactory::getId ( )
staticnoexcept

Definition at line 37 of file websocket-factory.cpp.

◆ createChannel()

shared_ptr< WebSocketChannel > nfd::face::WebSocketFactory::createChannel ( const websocket::Endpoint localEndpoint)

Create WebSocket-based channel using websocket::Endpoint.

websocket::Endpoint is really 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 118 of file websocket-factory.cpp.

◆ ProtocolFactory()

nfd::face::ProtocolFactory::ProtocolFactory
explicit

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


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