NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::util::DummyClientFace Class Reference

a client-side face for unit testing More...

#include <dummy-client-face.hpp>

Inheritance diagram for ndn::util::DummyClientFace:
Collaboration diagram for ndn::util::DummyClientFace:

Classes

class  AlreadyLinkedError
 
struct  BroadcastLink
 
class  Options
 options for DummyClientFace More...
 
class  Transport
 

Public Member Functions

 DummyClientFace (const Options &options=Options())
 Create a dummy face with internal IO service. More...
 
 DummyClientFace (KeyChain &keyChain, const Options &options=Options())
 Create a dummy face with internal IO service and the specified KeyChain. More...
 
 DummyClientFace (boost::asio::io_service &ioService, const Options &options=Options())
 Create a dummy face with the provided IO service. More...
 
 DummyClientFace (boost::asio::io_service &ioService, KeyChain &keyChain, const Options &options=Options())
 Create a dummy face with the provided IO service and the specified KeyChain. More...
 
 ~DummyClientFace ()
 
void receive (const Interest &interest)
 cause the Face to receive an interest More...
 
void receive (const Data &data)
 cause the Face to receive a data More...
 
void receive (const lp::Nack &nack)
 cause the Face to receive a nack More...
 
void linkTo (DummyClientFace &other)
 link another DummyClientFace through a broadcast media More...
 
void unlink ()
 unlink the broadcast media if previously linked More...
 
- Public Member Functions inherited from ndn::Face
 Face (shared_ptr< Transport > transport=nullptr)
 Create Face using given transport (or default transport if omitted) More...
 
 Face (DummyIoService &ioService)
 Create Face using default transport and given io_service. More...
 
 Face (shared_ptr< Transport > transport, KeyChain &keyChain)
 Create Face using given transport and KeyChain. More...
 
virtual ~Face ()
 
PendingInterestHandle expressInterest (const Interest &interest, const DataCallback &afterSatisfied, const NackCallback &afterNacked, const TimeoutCallback &afterTimeout)
 Express Interest. More...
 
void removePendingInterest (const PendingInterestId *pendingInterestId)
 
void removeAllPendingInterests ()
 Cancel all previously expressed Interests. More...
 
size_t getNPendingInterests () const
 Get number of pending Interests. More...
 
RegisteredPrefixHandle setInterestFilter (const InterestFilter &filter, const InterestCallback &onInterest, const RegisterPrefixFailureCallback &onFailure, const security::SigningInfo &signingInfo=security::SigningInfo(), uint64_t flags=nfd::ROUTE_FLAG_CHILD_INHERIT)
 Set InterestFilter to dispatch incoming matching interest to onInterest callback and register the filtered prefix with the connected NDN forwarder. More...
 
RegisteredPrefixHandle setInterestFilter (const InterestFilter &filter, const InterestCallback &onInterest, const RegisterPrefixSuccessCallback &onSuccess, const RegisterPrefixFailureCallback &onFailure, const security::SigningInfo &signingInfo=security::SigningInfo(), uint64_t flags=nfd::ROUTE_FLAG_CHILD_INHERIT)
 Set InterestFilter to dispatch incoming matching interest to onInterest callback and register the filtered prefix with the connected NDN forwarder. More...
 
InterestFilterHandle setInterestFilter (const InterestFilter &filter, const InterestCallback &onInterest)
 Set InterestFilter to dispatch incoming matching interest to onInterest callback. More...
 
RegisteredPrefixHandle registerPrefix (const Name &prefix, const RegisterPrefixSuccessCallback &onSuccess, const RegisterPrefixFailureCallback &onFailure, const security::SigningInfo &signingInfo=security::SigningInfo(), uint64_t flags=nfd::ROUTE_FLAG_CHILD_INHERIT)
 Register prefix with the connected NDN forwarder. More...
 
void unsetInterestFilter (const RegisteredPrefixId *registeredPrefixId)
 
void unsetInterestFilter (const InterestFilterId *interestFilterId)
 
void unregisterPrefix (const RegisteredPrefixId *registeredPrefixId, const UnregisterPrefixSuccessCallback &onSuccess, const UnregisterPrefixFailureCallback &onFailure)
 
void put (Data data)
 Publish data packet. More...
 
void put (lp::Nack nack)
 Send a network NACK. More...
 
void processEvents (time::milliseconds timeout=time::milliseconds::zero(), bool keepThread=false)
 Process any data to receive or call timeout callbacks. More...
 
void shutdown ()
 Shutdown face operations. More...
 
DummyIoServicegetIoService ()
 

Public Attributes

std::vector< InterestsentInterests
 Interests sent out of this DummyClientFace. More...
 
std::vector< DatasentData
 Data sent out of this DummyClientFace. More...
 
std::vector< lp::NacksentNacks
 Nacks sent out of this DummyClientFace. More...
 
Signal< DummyClientFace, InterestonSendInterest
 emits whenever an Interest is sent More...
 
Signal< DummyClientFace, DataonSendData
 emits whenever a Data packet is sent More...
 
Signal< DummyClientFace, lp::NackonSendNack
 emits whenever a Nack is sent More...
 
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE __pad0__: struct BroadcastLink
 
shared_ptr< BroadcastLinkm_bcastLink
 
std::unique_ptr< KeyChainm_internalKeyChain
 
KeyChainm_keyChain
 
std::function< void(time::milliseconds)> m_processEventsOverride
 
- Public Attributes inherited from ndn::Face
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED __pad0__: shared_ptr<Transport> getTransport() const { return m_transport
 

Additional Inherited Members

Detailed Description

a client-side face for unit testing

Definition at line 34 of file dummy-client-face.hpp.

Constructor & Destructor Documentation

◆ DummyClientFace() [1/4]

ndn::util::DummyClientFace::DummyClientFace ( const Options options = Options())
explicit

Create a dummy face with internal IO service.

Definition at line 98 of file dummy-client-face.cpp.

◆ DummyClientFace() [2/4]

ndn::util::DummyClientFace::DummyClientFace ( KeyChain keyChain,
const Options options = Options() 
)
explicit

Create a dummy face with internal IO service and the specified KeyChain.

Definition at line 106 of file dummy-client-face.cpp.

◆ DummyClientFace() [3/4]

ndn::util::DummyClientFace::DummyClientFace ( boost::asio::io_service &  ioService,
const Options options = Options() 
)
explicit

Create a dummy face with the provided IO service.

Definition at line 113 of file dummy-client-face.cpp.

◆ DummyClientFace() [4/4]

ndn::util::DummyClientFace::DummyClientFace ( boost::asio::io_service &  ioService,
KeyChain keyChain,
const Options options = Options() 
)

Create a dummy face with the provided IO service and the specified KeyChain.

Definition at line 121 of file dummy-client-face.cpp.

◆ ~DummyClientFace()

ndn::util::DummyClientFace::~DummyClientFace ( )

Definition at line 128 of file dummy-client-face.cpp.

References unlink().

Member Function Documentation

◆ receive() [1/3]

void ndn::util::DummyClientFace::receive ( const Interest interest)

cause the Face to receive an interest

Definition at line 253 of file dummy-client-face.cpp.

References ndn::lp::Packet::wireEncode(), and ndn::Interest::wireEncode().

◆ receive() [2/3]

void ndn::util::DummyClientFace::receive ( const Data data)

cause the Face to receive a data

Definition at line 265 of file dummy-client-face.cpp.

References ndn::lp::Packet::wireEncode(), and ndn::Data::wireEncode().

◆ receive() [3/3]

void ndn::util::DummyClientFace::receive ( const lp::Nack nack)

◆ linkTo()

void ndn::util::DummyClientFace::linkTo ( DummyClientFace other)

link another DummyClientFace through a broadcast media

Definition at line 290 of file dummy-client-face.cpp.

References m_bcastLink, and NDN_THROW.

◆ unlink()

void ndn::util::DummyClientFace::unlink ( )

unlink the broadcast media if previously linked

Definition at line 314 of file dummy-client-face.cpp.

Referenced by ~DummyClientFace().

Member Data Documentation

◆ sentInterests

std::vector<Interest> ndn::util::DummyClientFace::sentInterests

Interests sent out of this DummyClientFace.

Sent Interests are appended to this container if options.enablePacketLogger is true. User of this class is responsible for cleaning up the container, if necessary. After .expressInterest, .processEvents must be called before the Interest would show up here.

Definition at line 153 of file dummy-client-face.hpp.

◆ sentData

std::vector<Data> ndn::util::DummyClientFace::sentData

Data sent out of this DummyClientFace.

Sent Data are appended to this container if options.enablePacketLogger is true. User of this class is responsible for cleaning up the container, if necessary. After .put, .processEvents must be called before the Data would show up here.

Definition at line 161 of file dummy-client-face.hpp.

◆ sentNacks

std::vector<lp::Nack> ndn::util::DummyClientFace::sentNacks

Nacks sent out of this DummyClientFace.

Sent Nacks are appended to this container if options.enablePacketLogger is true. User of this class is responsible for cleaning up the container, if necessary. After .put, .processEvents must be called before the NACK would show up here.

Definition at line 169 of file dummy-client-face.hpp.

◆ onSendInterest

Signal<DummyClientFace, Interest> ndn::util::DummyClientFace::onSendInterest

emits whenever an Interest is sent

After .expressInterest, .processEvents must be called before this signal would be emitted.

Definition at line 175 of file dummy-client-face.hpp.

◆ onSendData

Signal<DummyClientFace, Data> ndn::util::DummyClientFace::onSendData

emits whenever a Data packet is sent

After .put, .processEvents must be called before this signal would be emitted.

Definition at line 181 of file dummy-client-face.hpp.

◆ onSendNack

Signal<DummyClientFace, lp::Nack> ndn::util::DummyClientFace::onSendNack

emits whenever a Nack is sent

After .put, .processEvents must be called before this signal would be emitted.

Definition at line 187 of file dummy-client-face.hpp.

◆ __pad0__

NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE ndn::util::DummyClientFace::__pad0__

Definition at line 189 of file dummy-client-face.hpp.

◆ m_bcastLink

shared_ptr<BroadcastLink> ndn::util::DummyClientFace::m_bcastLink

Definition at line 191 of file dummy-client-face.hpp.

Referenced by linkTo().

◆ m_internalKeyChain

std::unique_ptr<KeyChain> ndn::util::DummyClientFace::m_internalKeyChain

Definition at line 192 of file dummy-client-face.hpp.

◆ m_keyChain

KeyChain& ndn::util::DummyClientFace::m_keyChain

Definition at line 193 of file dummy-client-face.hpp.

◆ m_processEventsOverride

std::function<void(time::milliseconds)> ndn::util::DummyClientFace::m_processEventsOverride

Definition at line 194 of file dummy-client-face.hpp.


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