NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::face::UnicastEthernetTransport Class Referencefinal

A unicast Transport that uses raw Ethernet II frames. More...

#include <unicast-ethernet-transport.hpp>

Inheritance diagram for nfd::face::UnicastEthernetTransport:
Collaboration diagram for nfd::face::UnicastEthernetTransport:

Public Member Functions

 UnicastEthernetTransport (const ndn::net::NetworkInterface &localEndpoint, const ethernet::Address &remoteEndpoint, ndn::nfd::FacePersistency persistency, time::nanoseconds idleTimeout)
 Creates an Ethernet-based transport for unicast communication. More...
 
- Public Member Functions inherited from nfd::face::EthernetTransport
void receivePayload (span< const uint8_t > payload, const ethernet::Address &sender)
 Processes the payload of an incoming frame. More...
 
- 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)
 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 ()
 

Protected Member Functions

bool canChangePersistencyToImpl (ndn::nfd::FacePersistency newPersistency) const final
 invoked by canChangePersistencyTo to perform the check More...
 
void afterChangePersistency (ndn::nfd::FacePersistency oldPersistency) final
 invoked after the persistency has been changed More...
 
- Protected Member Functions inherited from nfd::face::EthernetTransport
 EthernetTransport (const ndn::net::NetworkInterface &localEndpoint, const ethernet::Address &remoteEndpoint)
 
void doClose () final
 performs Transport specific operations to close the transport More...
 
bool hasRecentlyReceived () const
 
void resetRecentlyReceived ()
 
- 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)
 

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...
 
- Protected Attributes inherited from nfd::face::EthernetTransport
boost::asio::posix::stream_descriptor m_socket
 
PcapHelper m_pcap
 
ethernet::Address m_srcAddress
 
ethernet::Address m_destAddress
 
std::string m_interfaceName
 
- 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...
 

Detailed Description

A unicast Transport that uses raw Ethernet II frames.

Definition at line 37 of file unicast-ethernet-transport.hpp.

Constructor & Destructor Documentation

◆ UnicastEthernetTransport()

Member Function Documentation

◆ canChangePersistencyToImpl()

bool nfd::face::UnicastEthernetTransport::canChangePersistencyToImpl ( ndn::nfd::FacePersistency  newPersistency) const
finalprotectedvirtual

invoked by canChangePersistencyTo to perform the check

Base class implementation returns false.

Parameters
newPersistencythe new persistency, guaranteed to be different from current persistency

Reimplemented from nfd::face::Transport.

Definition at line 71 of file unicast-ethernet-transport.cpp.

◆ afterChangePersistency()

void nfd::face::UnicastEthernetTransport::afterChangePersistency ( ndn::nfd::FacePersistency  oldPersistency)
finalprotectedvirtual

invoked after the persistency has been changed

The base class implementation does nothing. When overridden in a subclass, the function should update internal states after persistency setting has been changed.

Reimplemented from nfd::face::Transport.

Definition at line 77 of file unicast-ethernet-transport.cpp.

References ndn::detail::ScopedCancelHandle< HandleT >::cancel(), nfd::face::Transport::close(), ndn::nfd::FACE_PERSISTENCY_ON_DEMAND, nfd::face::Transport::getPersistency(), nfd::getScheduler(), nfd::face::EthernetTransport::hasRecentlyReceived(), NFD_LOG_FACE_INFO, ndn::time::steady_clock::now(), nfd::face::EthernetTransport::resetRecentlyReceived(), and nfd::face::Transport::setExpirationTime().


The documentation for this class was generated from the following files: