OpenSDN source code
|
#include <TVirtualTransport.h>
Public Member Functions | |
virtual int32_t | read_virt (uint8_t *buf, uint32_t len) |
virtual int32_t | readAll_virt (uint8_t *buf, uint32_t len) |
virtual int | write_virt (const uint8_t *buf, uint32_t len) |
virtual const uint8_t * | borrow_virt (uint8_t *buf, uint32_t *len) |
virtual void | consume_virt (uint32_t len) |
uint32_t | readAll (uint8_t *buf, uint32_t len) |
![]() | |
uint32_t | read (uint8_t *buf, uint32_t len) |
uint32_t | readAll (uint8_t *buf, uint32_t len) |
int | write (const uint8_t *buf, uint32_t len) |
const uint8_t * | borrow (uint8_t *buf, uint32_t *len) |
void | consume (uint32_t len) |
![]() | |
virtual | ~TTransport () |
virtual bool | isOpen () |
virtual bool | peek () |
virtual void | open () |
virtual void | close () |
int32_t | read (uint8_t *buf, uint32_t len) |
int32_t | readAll (uint8_t *buf, uint32_t len) |
virtual uint32_t | readEnd () |
int | write (const uint8_t *buf, uint32_t len) |
virtual uint32_t | writeEnd () |
virtual void | flush () |
const uint8_t * | borrow (uint8_t *buf, uint32_t *len) |
void | consume (uint32_t len) |
Protected Member Functions | |
TVirtualTransport () | |
template<typename Arg_ > | |
TVirtualTransport (Arg_ const &arg) | |
template<typename Arg1_ , typename Arg2_ > | |
TVirtualTransport (Arg1_ const &a1, Arg2_ const &a2) | |
![]() | |
TTransportDefaults () | |
![]() | |
TTransport () | |
Helper class to provide polymorphism for subclasses of TTransport.
This class implements *_virt() methods of TTransport, to call the non-virtual versions of these functions in the proper subclass.
To define your own transport class using TVirtualTransport: 1) Derive your subclass from TVirtualTransport<your class> e.g: class MyTransport : public TVirtualTransport<MyTransport> { 2) Provide your own implementations of read(), readAll(), etc. These methods should be non-virtual.
Transport implementations that need to use virtual inheritance when inheriting from TTransport cannot use TVirtualTransport.
Definition at line 88 of file TVirtualTransport.h.
|
inlineprotected |
Definition at line 130 of file TVirtualTransport.h.
|
inlineprotected |
Definition at line 138 of file TVirtualTransport.h.
|
inlineprotected |
Definition at line 141 of file TVirtualTransport.h.
|
inlinevirtual |
Reimplemented from contrail::sandesh::transport::TTransport.
Reimplemented in contrail::sandesh::transport::TVirtualTransport< TMemoryBuffer, TBufferBase >.
Definition at line 106 of file TVirtualTransport.h.
|
inlinevirtual |
Reimplemented from contrail::sandesh::transport::TTransport.
Reimplemented in contrail::sandesh::transport::TVirtualTransport< TMemoryBuffer, TBufferBase >.
Definition at line 110 of file TVirtualTransport.h.
|
inlinevirtual |
Reimplemented from contrail::sandesh::transport::TTransport.
Reimplemented in contrail::sandesh::transport::TVirtualTransport< TMemoryBuffer, TBufferBase >.
Definition at line 94 of file TVirtualTransport.h.
|
inline |
|
inlinevirtual |
Reimplemented from contrail::sandesh::transport::TTransport.
Reimplemented in contrail::sandesh::transport::TVirtualTransport< TMemoryBuffer, TBufferBase >.
Definition at line 98 of file TVirtualTransport.h.
|
inlinevirtual |
Reimplemented from contrail::sandesh::transport::TTransport.
Reimplemented in contrail::sandesh::transport::TVirtualTransport< TMemoryBuffer, TBufferBase >.
Definition at line 102 of file TVirtualTransport.h.