Implementation detail of a Boost.Asio-based stream-oriented transport. More...
#include <ndn-cxx/transport/detail/stream-transport-impl.hpp>
Public Types | |
typedef std::list< Block > | BlockSequence |
typedef StreamTransportImpl< BaseTransport, Protocol > | Impl |
typedef std::list< BlockSequence > | TransmissionQueue |
Public Member Functions | |
StreamTransportImpl (BaseTransport &transport, boost::asio::io_service &ioService) | |
void | close () |
void | connect (const typename Protocol::endpoint &endpoint) |
void | pause () |
void | resume () |
void | send (const Block &wire) |
void | send (const Block &header, const Block &payload) |
Protected Member Functions | |
void | asyncReceive () |
void | asyncWrite () |
void | connectHandler (const boost::system::error_code &error) |
void | connectTimeoutHandler (const boost::system::error_code &error) |
void | handleAsyncReceive (const boost::system::error_code &error, std::size_t nBytesRecvd) |
void | handleAsyncWrite (const boost::system::error_code &error, TransmissionQueue::iterator queueItem) |
bool | processAllReceived (uint8_t *buffer, size_t &offset, size_t nBytesAvailable) |
void | send (BlockSequence &&sequence) |
Protected Attributes | |
boost::asio::deadline_timer | m_connectTimer |
uint8_t | m_inputBuffer [MAX_NDN_PACKET_SIZE] |
size_t | m_inputBufferSize |
bool | m_isConnecting |
Protocol::socket | m_socket |
TransmissionQueue | m_transmissionQueue |
BaseTransport & | m_transport |
Implementation detail of a Boost.Asio-based stream-oriented transport.
BaseTransport | a subclass of Transport |
Protocol | a Boost.Asio stream-oriented protocol, e.g. boost::asio::ip::tcp or boost::asio::local::stream_protocol |
Definition at line 41 of file stream-transport-impl.hpp.
typedef std::list<Block> ndn::detail::StreamTransportImpl< BaseTransport, Protocol >::BlockSequence |
Definition at line 45 of file stream-transport-impl.hpp.
typedef StreamTransportImpl<BaseTransport, Protocol> ndn::detail::StreamTransportImpl< BaseTransport, Protocol >::Impl |
Definition at line 44 of file stream-transport-impl.hpp.
typedef std::list<BlockSequence> ndn::detail::StreamTransportImpl< BaseTransport, Protocol >::TransmissionQueue |
Definition at line 46 of file stream-transport-impl.hpp.
|
inline |
Definition at line 48 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 208 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 176 of file stream-transport-impl.hpp.
|
inline |
Definition at line 74 of file stream-transport-impl.hpp.
|
inline |
Definition at line 58 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 132 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 153 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 216 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 184 of file stream-transport-impl.hpp.
|
inline |
Definition at line 89 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 254 of file stream-transport-impl.hpp.
|
inline |
Definition at line 101 of file stream-transport-impl.hpp.
|
inline |
Definition at line 114 of file stream-transport-impl.hpp.
|
inline |
Definition at line 122 of file stream-transport-impl.hpp.
|
inlineprotected |
Definition at line 163 of file stream-transport-impl.hpp.
|
protected |
Definition at line 279 of file stream-transport-impl.hpp.
|
protected |
Definition at line 273 of file stream-transport-impl.hpp.
|
protected |
Definition at line 274 of file stream-transport-impl.hpp.
|
protected |
Definition at line 277 of file stream-transport-impl.hpp.
|
protected |
Definition at line 272 of file stream-transport-impl.hpp.
|
protected |
Definition at line 276 of file stream-transport-impl.hpp.
|
protected |
Definition at line 270 of file stream-transport-impl.hpp.