A Transport that communicates on a stream-oriented Unix domain socket. More...
#include <unix-stream-transport.hpp>
Public Member Functions | |
UnixStreamTransport (protocol::socket &&socket) | |
Public Member Functions inherited from nfd::face::StreamTransport< boost::asio::local::stream_protocol > | |
StreamTransport (typename protocol::socket &&socket) | |
Construct stream transport. More... | |
Public Member Functions inherited from nfd::face::Transport | |
Transport () | |
constructor More... | |
virtual | ~Transport () |
void | setFaceAndLinkService (Face &face, LinkService &service) |
set Face and LinkService for Transport More... | |
const Face * | getFace () const |
const LinkService * | getLinkService () const |
LinkService * | getLinkService () |
virtual const Counters & | getCounters () const |
void | close () |
request the transport to be closed More... | |
void | send (Packet &&packet) |
send a link-layer packet More... | |
FaceUri | getLocalUri () const |
FaceUri | getRemoteUri () const |
ndn::nfd::FaceScope | getScope () const |
ndn::nfd::FacePersistency | getPersistency () const |
void | setPersistency (ndn::nfd::FacePersistency persistency) |
changes face persistency setting More... | |
ndn::nfd::LinkType | getLinkType () const |
ssize_t | getMtu () const |
TransportState | getState () const |
time::steady_clock::TimePoint | getExpirationTime () const |
Protected Member Functions | |
virtual void | beforeChangePersistency (ndn::nfd::FacePersistency newPersistency) final |
invoked before persistency is changed More... | |
Protected Member Functions inherited from nfd::face::StreamTransport< boost::asio::local::stream_protocol > | |
virtual void | doClose () override |
performs Transport specific operations to close the transport More... | |
void | deferredClose () |
virtual void | doSend (Transport::Packet &&packet) override |
performs Transport specific operations to send a packet More... | |
void | sendFromQueue () |
void | handleSend (const boost::system::error_code &error, size_t nBytesSent) |
void | startReceive () |
void | handleReceive (const boost::system::error_code &error, size_t nBytesReceived) |
void | processErrorCode (const boost::system::error_code &error) |
virtual void | handleError (const boost::system::error_code &error) |
void | resetReceiveBuffer () |
void | resetSendQueue () |
NFD_LOG_INCLASS_DECLARE () | |
Protected Member Functions inherited from nfd::face::Transport | |
void | receive (Packet &&packet) |
receive a link-layer packet More... | |
void | setLocalUri (const FaceUri &uri) |
void | setRemoteUri (const FaceUri &uri) |
void | setScope (ndn::nfd::FaceScope scope) |
void | setLinkType (ndn::nfd::LinkType linkType) |
void | setMtu (ssize_t mtu) |
void | setState (TransportState newState) |
set transport state More... | |
void | setExpirationTime (const time::steady_clock::TimePoint &expirationTime) |
Additional Inherited Members | |
Public Types inherited from nfd::face::StreamTransport< boost::asio::local::stream_protocol > | |
typedef boost::asio::local::stream_protocol | protocol |
Public Types inherited from nfd::face::Transport | |
typedef uint64_t | EndpointId |
identifies an endpoint on the link More... | |
typedef TransportCounters | Counters |
counters provided by Transport More... | |
Public Attributes inherited from nfd::face::Transport | |
signal::Signal< Transport, TransportState, TransportState > | afterStateChange |
signals when transport state changes More... | |
Protected Attributes inherited from nfd::face::StreamTransport< boost::asio::local::stream_protocol > | |
protocol::socket | m_socket |
Protected Attributes inherited from nfd::face::TransportCounters | |
PacketCounter | nInPackets |
count of incoming packets More... | |
PacketCounter | nOutPackets |
count of outgoing packets More... | |
ByteCounter | nInBytes |
total incoming bytes More... | |
ByteCounter | nOutBytes |
total outgoing bytes More... | |
A Transport that communicates on a stream-oriented Unix domain socket.
Definition at line 41 of file unix-stream-transport.hpp.
|
explicit |
Definition at line 34 of file unix-stream-transport.cpp.
References ndn::nfd::FACE_PERSISTENCY_ON_DEMAND, ndn::nfd::FACE_SCOPE_LOCAL, ndn::util::FaceUri::fromFd(), ndn::nfd::LINK_TYPE_POINT_TO_POINT, nfd::face::StreamTransport< boost::asio::local::stream_protocol >::m_socket, nfd::face::MTU_UNLIMITED, NFD_LOG_FACE_INFO, nfd::face::Transport::setLinkType(), nfd::face::Transport::setLocalUri(), nfd::face::Transport::setMtu(), nfd::face::Transport::setPersistency(), nfd::face::Transport::setRemoteUri(), and nfd::face::Transport::setScope().
|
finalprotectedvirtual |
invoked before persistency is changed
std::invalid_argument | new persistency is not supported |
std::runtime_error | transition is disallowed |
Implements nfd::face::Transport.
Definition at line 53 of file unix-stream-transport.cpp.
References ndn::nfd::FACE_PERSISTENCY_ON_DEMAND.