Implements a forwarder-side transport that can be paired with another transport. More...
#include <internal-transport.hpp>
Public Member Functions | |
InternalForwarderTransport (const FaceUri &localUri=FaceUri("internal://"), const FaceUri &remoteUri=FaceUri("internal://"), ndn::nfd::FaceScope scope=ndn::nfd::FACE_SCOPE_LOCAL, ndn::nfd::LinkType linkType=ndn::nfd::LINK_TYPE_POINT_TO_POINT) | |
void | setPeer (InternalTransportBase *peer) |
void | receivePacket (const Block &packet) final |
Public Member Functions inherited from nfd::face::Transport | |
Transport () | |
Default 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 (const Block &packet, const EndpointId &endpoint=0) |
Send a link-layer packet. More... | |
FaceUri | getLocalUri () const |
FaceUri | getRemoteUri () const |
ndn::nfd::FaceScope | getScope () const |
ndn::nfd::FacePersistency | getPersistency () const |
bool | canChangePersistencyTo (ndn::nfd::FacePersistency newPersistency) const |
check whether the face persistency can be changed to newPersistency More... | |
void | setPersistency (ndn::nfd::FacePersistency newPersistency) |
changes face persistency setting More... | |
ndn::nfd::LinkType | getLinkType () const |
ssize_t | getMtu () const |
ssize_t | getSendQueueCapacity () const |
TransportState | getState () const |
time::steady_clock::TimePoint | getExpirationTime () const |
virtual ssize_t | getSendQueueLength () |
Public Member Functions inherited from nfd::face::InternalTransportBase | |
virtual | ~InternalTransportBase ()=default |
Protected Member Functions | |
void | doClose () final |
performs Transport specific operations to close the transport More... | |
Protected Member Functions inherited from nfd::face::Transport | |
void | receive (const Block &packet, const EndpointId &endpoint=0) |
Pass a received link-layer packet to the upper layer for further processing. 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 | setSendQueueCapacity (ssize_t sendQueueCapacity) |
void | setState (TransportState newState) |
set transport state More... | |
void | setExpirationTime (const time::steady_clock::TimePoint &expirationTime) |
virtual bool | canChangePersistencyToImpl (ndn::nfd::FacePersistency newPersistency) const |
invoked by canChangePersistencyTo to perform the check More... | |
virtual void | afterChangePersistency (ndn::nfd::FacePersistency oldPersistency) |
invoked after the persistency has been changed More... | |
Additional Inherited Members | |
Public Types inherited from nfd::face::Transport | |
using | Counters = TransportCounters |
Counters provided by a transport. More... | |
Public Attributes inherited from nfd::face::Transport | |
signal::Signal< Transport, TransportState, TransportState > | afterStateChange |
signals when transport state changes More... | |
Static Public Attributes inherited from nfd::face::Transport | |
static constexpr ssize_t | MIN_MTU = 64 |
minimum MTU that may be set on a transport More... | |
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... | |
Implements a forwarder-side transport that can be paired with another transport.
Definition at line 50 of file internal-transport.hpp.
|
explicit |
Definition at line 35 of file internal-transport.cpp.
References ndn::nfd::FACE_PERSISTENCY_PERMANENT, nfd::face::MTU_UNLIMITED, NFD_LOG_FACE_DEBUG, 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().
|
inline |
Definition at line 60 of file internal-transport.hpp.
Referenced by nfd::face::InternalClientTransport::connectToForwarder(), and nfd::face::InternalClientTransport::~InternalClientTransport().
|
finalvirtual |
Implements nfd::face::InternalTransportBase.
Definition at line 49 of file internal-transport.cpp.
References nfd::getGlobalIoService(), NFD_LOG_FACE_TRACE, nfd::detail::SimulatorIo::post(), nfd::face::Transport::receive(), and ndn::Block::size().
Referenced by nfd::face::InternalClientTransport::send().
|
finalprotectedvirtual |
performs Transport specific operations to close the transport
This is invoked once by close()
after changing state to CLOSING. It will not be invoked by Transport class if the transport is already CLOSING or CLOSED.
When the cleanup procedure is complete, this method should change state to CLOSED. This transition can happen synchronously or asynchronously.
Implements nfd::face::Transport.
Definition at line 67 of file internal-transport.cpp.
References nfd::face::CLOSED, NFD_LOG_FACE_TRACE, and nfd::face::Transport::setState().