nfd::TcpChannel Class Reference

Class implementing TCP-based channel to create faces. More...

#include <tcp-channel.hpp>

Inheritance diagram for nfd::TcpChannel:
Collaboration diagram for nfd::TcpChannel:

Public Member Functions

 TcpChannel (const tcp::Endpoint &localEndpoint)
 Create TCP channel for the local endpoint. More...
 
void listen (const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onAcceptFailed, int backlog=boost::asio::ip::tcp::acceptor::max_connections)
 Enable listening on the local endpoint, accept connections, and create faces when remote host makes a connection. More...
 
void connect (const tcp::Endpoint &remoteEndpoint, bool wantLocalFieldsEnabled, const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onConnectFailed, const time::seconds &timeout=time::seconds(4))
 Create a face by establishing connection to remote endpoint. More...
 
size_t size () const
 Get number of faces in the channel. More...
 
bool isListening () const
 
const FaceUri & getUri () const
 

Protected Member Functions

void setUri (const FaceUri &uri)
 

Detailed Description

Class implementing TCP-based channel to create faces.

Channel can create faces as a response to incoming TCP connections (TcpChannel::listen needs to be called for that to work) or explicitly after using TcpChannel::connect method.

Definition at line 45 of file tcp-channel.hpp.

Constructor & Destructor Documentation

nfd::TcpChannel::TcpChannel ( const tcp::Endpoint localEndpoint)
explicit

Create TCP channel for the local endpoint.

To enable creation faces upon incoming connections, one needs to explicitly call TcpChannel::listen method.

Definition at line 37 of file tcp-channel.cpp.

Member Function Documentation

void nfd::TcpChannel::connect ( const tcp::Endpoint remoteEndpoint,
bool  wantLocalFieldsEnabled,
const FaceCreatedCallback onFaceCreated,
const FaceCreationFailedCallback onConnectFailed,
const time::seconds &  timeout = time::seconds(4) 
)

Create a face by establishing connection to remote endpoint.

Definition at line 68 of file tcp-channel.cpp.

const FaceUri & nfd::Channel::getUri ( ) const
inlineinherited

Definition at line 70 of file channel.hpp.

bool nfd::TcpChannel::isListening ( ) const
inline

Definition at line 127 of file tcp-channel.hpp.

void nfd::TcpChannel::listen ( const FaceCreatedCallback onFaceCreated,
const FaceCreationFailedCallback onAcceptFailed,
int  backlog = boost::asio::ip::tcp::acceptor::max_connections 
)

Enable listening on the local endpoint, accept connections, and create faces when remote host makes a connection.

Parameters
onFaceCreatedCallback to notify successful creation of the face
onAcceptFailedCallback to notify when channel fails (accept call returns an error)
backlogThe maximum length of the queue of pending incoming connections

Definition at line 46 of file tcp-channel.cpp.

void nfd::Channel::setUri ( const FaceUri &  uri)
protectedinherited

Definition at line 35 of file channel.cpp.

size_t nfd::TcpChannel::size ( ) const

Get number of faces in the channel.

Definition at line 93 of file tcp-channel.cpp.