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

#include <tcp-factory.hpp>

Inheritance diagram for nfd::TcpFactory:
Collaboration diagram for nfd::TcpFactory:

Public Member Functions

shared_ptr< TcpChannelcreateChannel (const tcp::Endpoint &localEndpoint)
 Create TCP-based channel using tcp::Endpoint. More...
 
shared_ptr< TcpChannelcreateChannel (const std::string &localIp, const std::string &localPort)
 Create TCP-based channel using specified IP address and port number. More...
 
virtual 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...
 
virtual std::vector< shared_ptr< const Channel > > getChannels () const override
 

Detailed Description

Definition at line 34 of file tcp-factory.hpp.

Member Function Documentation

◆ createChannel() [1/2]

shared_ptr< TcpChannel > nfd::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 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 TcpChannel object, an exception is thrown if it cannot be created.
See also
http://www.boost.org/doc/libs/1_42_0/doc/html/boost_asio/reference/ip__tcp/endpoint.html for details on ways to create tcp::Endpoint

Definition at line 77 of file tcp-factory.cpp.

References NFD_LOG_DEBUG.

Referenced by createChannel().

◆ createChannel() [2/2]

shared_ptr< TcpChannel > nfd::TcpFactory::createChannel ( const std::string &  localIp,
const std::string &  localPort 
)

Create TCP-based channel using specified IP address and port number.

This method is just a helper that converts a string representation of localIp and port to tcp::Endpoint and calls the other createChannel overload.

Exceptions
std::runtime_error

Definition at line 92 of file tcp-factory.cpp.

References createChannel().

◆ createFace()

void nfd::TcpFactory::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::ProtocolFactory.

Definition at line 100 of file tcp-factory.cpp.

References ndn::nfd::FACE_PERSISTENCY_PERSISTENT, ndn::util::FaceUri::getHost(), ndn::util::FaceUri::getPort(), ndn::util::FaceUri::isCanonical(), and NFD_LOG_TRACE.

◆ getChannels()

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

Implements nfd::ProtocolFactory.

Definition at line 150 of file tcp-factory.cpp.


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