Class implementing a local channel to create faces. More...
#include <unix-stream-channel.hpp>
Classes | |
class | Error |
UnixStreamChannel-related error. More... | |
Public Member Functions | |
UnixStreamChannel (const unix_stream::Endpoint &endpoint, bool wantCongestionMarking) | |
Create UnixStream channel for the specified endpoint. More... | |
~UnixStreamChannel () final | |
bool | isListening () const final |
Returns whether the channel is listening. More... | |
size_t | size () const final |
Returns the number of faces in the channel. More... | |
void | listen (const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onAcceptFailed, int backlog=boost::asio::local::stream_protocol::acceptor::max_connections) |
Start listening. More... | |
Public Member Functions inherited from nfd::face::Channel | |
virtual | ~Channel () |
const FaceUri & | getUri () const |
size_t | getDefaultMtu () const |
Returns the default MTU for all faces created by this channel. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from nfd::face::Channel | |
void | setUri (const FaceUri &uri) |
void | setDefaultMtu (size_t mtu) |
Class implementing a local channel to create faces.
Channel can create faces as a response to incoming IPC connections (UnixStreamChannel::listen needs to be called for that to work).
Definition at line 45 of file unix-stream-channel.hpp.
nfd::face::UnixStreamChannel::UnixStreamChannel | ( | const unix_stream::Endpoint & | endpoint, |
bool | wantCongestionMarking | ||
) |
Create UnixStream channel for the specified endpoint.
To enable creation of faces upon incoming connections, one needs to explicitly call UnixStreamChannel::listen method.
Definition at line 40 of file unix-stream-channel.cpp.
References NFD_LOG_CHAN_INFO, and nfd::face::Channel::setUri().
|
final |
Definition at line 52 of file unix-stream-channel.cpp.
References isListening(), and NFD_LOG_CHAN_DEBUG.
|
inlinefinalvirtual |
Returns whether the channel is listening.
Implements nfd::face::Channel.
Definition at line 72 of file unix-stream-channel.hpp.
Referenced by listen(), and ~UnixStreamChannel().
|
inlinefinalvirtual |
Returns the number of faces in the channel.
Implements nfd::face::Channel.
Definition at line 78 of file unix-stream-channel.hpp.
References websocketpp::extensions::permessage_deflate::mode::accept, and websocketpp::transport::asio::socket::error::socket.
void nfd::face::UnixStreamChannel::listen | ( | const FaceCreatedCallback & | onFaceCreated, |
const FaceCreationFailedCallback & | onAcceptFailed, | ||
int | backlog = boost::asio::local::stream_protocol::acceptor::max_connections |
||
) |
Start listening.
Enable listening on the Unix socket, waiting for incoming connections, and creating a face when a connection is made.
Faces created in this way will have on-demand persistency.
onFaceCreated | Callback to notify successful creation of the face |
onAcceptFailed | Callback to notify when channel fails (accept call returns an error) |
backlog | The maximum length of the queue of pending incoming connections |
Error |
Definition at line 65 of file unix-stream-channel.cpp.
References websocketpp::extensions::permessage_deflate::mode::accept, nfd::face::connectFaceClosedSignal(), nfd::getGlobalIoService(), isListening(), nonstd::optional_lite::std11::move(), NDN_THROW, NDN_THROW_ERRNO, NFD_LOG_CHAN_DEBUG, NFD_LOG_CHAN_TRACE, NFD_LOG_CHAN_WARN, websocketpp::transport::error::operation_aborted, and websocketpp::transport::asio::socket::error::socket.