NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::StreamTransportImpl< BaseTransport, Protocol > Class Template Reference

#include <stream-transport.hpp>

Inheritance diagram for ndn::StreamTransportImpl< BaseTransport, Protocol >:
Collaboration diagram for ndn::StreamTransportImpl< BaseTransport, Protocol >:

Public Types

typedef StreamTransportImpl< BaseTransport, Protocol > Impl
 
typedef std::list< BlockBlockSequence
 
typedef std::list< BlockSequenceTransmissionQueue
 

Public Member Functions

 StreamTransportImpl (BaseTransport &transport, boost::asio::io_service &ioService)
 
void connectHandler (const boost::system::error_code &error)
 
void connectTimeoutHandler (const boost::system::error_code &error)
 
void connect (const typename Protocol::endpoint &endpoint)
 
void close ()
 
void pause ()
 
void resume ()
 
void send (const Block &wire)
 
void send (const Block &header, const Block &payload)
 
void handleAsyncWrite (const boost::system::error_code &error, TransmissionQueue::iterator queueItem)
 
bool processAll (uint8_t *buffer, size_t &offset, size_t nBytesAvailable)
 
void handleAsyncReceive (const boost::system::error_code &error, std::size_t nBytesRecvd)
 

Protected Attributes

BaseTransport & m_transport
 
Protocol::socket m_socket
 
uint8_t m_inputBuffer [MAX_NDN_PACKET_SIZE]
 
size_t m_inputBufferSize
 
TransmissionQueue m_transmissionQueue
 
bool m_connectionInProgress
 
boost::asio::deadline_timer m_connectTimer
 

Detailed Description

template<class BaseTransport, class Protocol>
class ndn::StreamTransportImpl< BaseTransport, Protocol >

Definition at line 33 of file stream-transport.hpp.

Member Typedef Documentation

§ Impl

template<class BaseTransport , class Protocol >
typedef StreamTransportImpl<BaseTransport,Protocol> ndn::StreamTransportImpl< BaseTransport, Protocol >::Impl

Definition at line 36 of file stream-transport.hpp.

§ BlockSequence

template<class BaseTransport , class Protocol >
typedef std::list<Block> ndn::StreamTransportImpl< BaseTransport, Protocol >::BlockSequence

Definition at line 38 of file stream-transport.hpp.

§ TransmissionQueue

template<class BaseTransport , class Protocol >
typedef std::list<BlockSequence> ndn::StreamTransportImpl< BaseTransport, Protocol >::TransmissionQueue

Definition at line 39 of file stream-transport.hpp.

Constructor & Destructor Documentation

§ StreamTransportImpl()

template<class BaseTransport , class Protocol >
ndn::StreamTransportImpl< BaseTransport, Protocol >::StreamTransportImpl ( BaseTransport &  transport,
boost::asio::io_service &  ioService 
)
inline

Definition at line 41 of file stream-transport.hpp.

Member Function Documentation

§ connectHandler()

§ connectTimeoutHandler()

template<class BaseTransport , class Protocol >
void ndn::StreamTransportImpl< BaseTransport, Protocol >::connectTimeoutHandler ( const boost::system::error_code &  error)
inline

§ connect()

§ close()

§ pause()

§ resume()

§ send() [1/2]

§ send() [2/2]

§ handleAsyncWrite()

template<class BaseTransport , class Protocol >
void ndn::StreamTransportImpl< BaseTransport, Protocol >::handleAsyncWrite ( const boost::system::error_code &  error,
TransmissionQueue::iterator  queueItem 
)
inline

§ processAll()

template<class BaseTransport , class Protocol >
bool ndn::StreamTransportImpl< BaseTransport, Protocol >::processAll ( uint8_t *  buffer,
size_t &  offset,
size_t  nBytesAvailable 
)
inline

§ handleAsyncReceive()

Member Data Documentation

§ m_transport

§ m_socket

§ m_inputBuffer

template<class BaseTransport , class Protocol >
uint8_t ndn::StreamTransportImpl< BaseTransport, Protocol >::m_inputBuffer[MAX_NDN_PACKET_SIZE]
protected

§ m_inputBufferSize

template<class BaseTransport , class Protocol >
size_t ndn::StreamTransportImpl< BaseTransport, Protocol >::m_inputBufferSize
protected

§ m_transmissionQueue

§ m_connectionInProgress

§ m_connectTimer


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