ndn::util::DummyClientFace::Transport Class Reference
Inheritance diagram for ndn::util::DummyClientFace::Transport:
[legend]
Collaboration diagram for ndn::util::DummyClientFace::Transport:
[legend]

Public Types

typedef function< void(const Block &wire)> ReceiveCallback
 
typedef function< void()> ErrorCallback
 

Public Member Functions

void receive (Block block) const
 
void close () override
 Close the connection. More...
 
void pause () override
 pause the transport More...
 
void resume () override
 resume the transport More...
 
void send (const Block &wire) override
 send a TLV block through the transport More...
 
void send (const Block &header, const Block &payload) override
 send two memory blocks through the transport More...
 
boost::asio::io_service & getIoService ()
 
virtual void connect (boost::asio::io_service &ioService, const ReceiveCallback &receiveCallback)
 asynchronously open the connection More...
 
bool isConnected () const
 
bool isReceiving () const
 

Data Fields

Signal< Transport, BlockonSendBlock
 

Protected Member Functions

void receive (const Block &wire)
 invoke the receive callback More...
 

Protected Attributes

boost::asio::io_service * m_ioService
 
bool m_isConnected
 
bool m_isReceiving
 
ReceiveCallback m_receiveCallback
 

Detailed Description

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

Member Typedef Documentation

typedef function<void()> ndn::Transport::ErrorCallback
inherited

Definition at line 53 of file transport.hpp.

typedef function<void(const Block& wire)> ndn::Transport::ReceiveCallback
inherited

Definition at line 52 of file transport.hpp.

Member Function Documentation

void ndn::util::DummyClientFace::Transport::close ( )
inlineoverridevirtual

Close the connection.

Implements ndn::Transport.

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

void ndn::Transport::connect ( boost::asio::io_service &  ioService,
const ReceiveCallback receiveCallback 
)
virtualinherited

asynchronously open the connection

Parameters
ioServiceio_service to create socket on
receiveCallbackcallback function when a TLV block is received; must not be empty
Exceptions
boost::system::system_errorconnection cannot be established

Reimplemented in ndn::TcpTransport, and ndn::UnixTransport.

Definition at line 44 of file transport.cpp.

boost::asio::io_service& ndn::util::DummyClientFace::Transport::getIoService ( )
inline

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

bool ndn::Transport::isConnected ( ) const
inlineinherited
Return values
trueconnection has been established
falseconnection is not yet established or has been closed

Definition at line 128 of file transport.hpp.

bool ndn::Transport::isReceiving ( ) const
inlineinherited
Return values
trueincoming packets are expected, receiveCallback will be invoked
falseincoming packets are not expected, receiveCallback will not be invoked

Definition at line 134 of file transport.hpp.

void ndn::util::DummyClientFace::Transport::pause ( )
inlineoverridevirtual

pause the transport

Postcondition
receiveCallback will not be invoked
Note
This operation has no effect if transport has been paused, or when connection is being established.

Implements ndn::Transport.

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

void ndn::util::DummyClientFace::Transport::receive ( Block  block) const
inline

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

void ndn::Transport::receive ( const Block wire)
inlineprotectedinherited

invoke the receive callback

Definition at line 140 of file transport.hpp.

void ndn::util::DummyClientFace::Transport::resume ( )
inlineoverridevirtual

resume the transport

Postcondition
receiveCallback will be invoked
Note
This operation has no effect if transport is not paused, or when connection is being established.

Implements ndn::Transport.

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

void ndn::util::DummyClientFace::Transport::send ( const Block wire)
inlineoverridevirtual

send a TLV block through the transport

Implements ndn::Transport.

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

void ndn::util::DummyClientFace::Transport::send ( const Block header,
const Block payload 
)
inlineoverridevirtual

send two memory blocks through the transport

Scatter/gather API is utilized to send two non-consecutive memory blocks together (as part of the same message in datagram-oriented transports).

Implements ndn::Transport.

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

Field Documentation

boost::asio::io_service* ndn::Transport::m_ioService
protectedinherited

Definition at line 121 of file transport.hpp.

bool ndn::Transport::m_isConnected
protectedinherited

Definition at line 122 of file transport.hpp.

bool ndn::Transport::m_isReceiving
protectedinherited

Definition at line 123 of file transport.hpp.

ReceiveCallback ndn::Transport::m_receiveCallback
protectedinherited

Definition at line 124 of file transport.hpp.

Signal<Transport, Block> ndn::util::DummyClientFace::Transport::onSendBlock

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