26 #ifndef NFD_DAEMON_FACE_TCP_CHANNEL_HPP 27 #define NFD_DAEMON_FACE_TCP_CHANNEL_HPP 35 typedef boost::asio::ip::tcp::endpoint
Endpoint;
41 const boost::asio::ip::address& remote)>;
65 return m_acceptor.is_open();
71 return m_channelFaces.size();
86 int backlog = boost::asio::ip::tcp::acceptor::max_connections);
96 time::nanoseconds timeout = 8_s);
100 createFace(boost::asio::ip::tcp::socket&& socket,
109 handleAccept(
const boost::system::error_code& error,
114 handleConnect(
const boost::system::error_code& error,
116 const shared_ptr<boost::asio::ip::tcp::socket>& socket,
124 const shared_ptr<boost::asio::ip::tcp::socket>& socket,
129 boost::asio::ip::tcp::acceptor m_acceptor;
130 boost::asio::ip::tcp::socket m_socket;
131 std::map<tcp::Endpoint, shared_ptr<Face>> m_channelFaces;
132 bool m_wantCongestionMarking;
139 #endif // NFD_DAEMON_FACE_TCP_CHANNEL_HPP Opaque handle for a scheduled event.
represent a channel that communicates on a local endpoint
bool isListening() const override
Returns whether the channel is listening.
std::function< ndn::nfd::FaceScope(const boost::asio::ip::address &local, const boost::asio::ip::address &remote)> DetermineFaceScopeFromAddress
std::function< void(uint32_t status, const std::string &reason)> FaceCreationFailedCallback
Prototype for the callback that is invoked when a face fails to be created.
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...
std::function< void(const shared_ptr< Face > &face)> FaceCreatedCallback
Prototype for the callback that is invoked when a face is created (in response to an incoming connect...
size_t size() const override
Returns the number of faces in the channel.
Parameters used to set Transport properties or LinkService options on a newly created face...
TcpChannel(const tcp::Endpoint &localEndpoint, bool wantCongestionMarking, DetermineFaceScopeFromAddress determineFaceScope)
Create TCP channel for the local endpoint.
Copyright (c) 2011-2015 Regents of the University of California.
boost::asio::ip::tcp::endpoint Endpoint
void connect(const tcp::Endpoint &remoteEndpoint, const FaceParams ¶ms, const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onConnectFailed, time::nanoseconds timeout=8_s)
Create a face by establishing a TCP connection to remoteEndpoint.
Class implementing TCP-based channel to create faces.