Classes | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
uavcan::TransferBufferManagerEntry Class Reference

#include <transfer_buffer.hpp>

Inheritance diagram for uavcan::TransferBufferManagerEntry:
Inheritance graph
[legend]

Classes

struct  Block
 

Public Member Functions

const TransferBufferManagerKeygetKey () const
 
bool isEmpty () const
 
virtual int read (unsigned offset, uint8_t *data, unsigned len) const
 
void reset (const TransferBufferManagerKey &key=TransferBufferManagerKey())
 
 TransferBufferManagerEntry (IPoolAllocator &allocator, uint16_t max_size)
 
virtual int write (unsigned offset, const uint8_t *data, unsigned len)
 
virtual ~TransferBufferManagerEntry ()
 
- Public Member Functions inherited from uavcan::ITransferBuffer
virtual ~ITransferBuffer ()
 
- Public Member Functions inherited from uavcan::LinkedListNode< TransferBufferManagerEntry >
TransferBufferManagerEntrygetNextListNode () const
 
void setNextListNode (TransferBufferManagerEntry *node)
 

Static Public Member Functions

static void destroy (TransferBufferManagerEntry *&obj, IPoolAllocator &allocator)
 
static TransferBufferManagerEntryinstantiate (IPoolAllocator &allocator, uint16_t max_size)
 

Private Attributes

IPoolAllocatorallocator_
 
LinkedListRoot< Blockblocks_
 
TransferBufferManagerKey key_
 
const uint16_t max_size_
 
uint16_t max_write_pos_
 

Additional Inherited Members

- Protected Member Functions inherited from uavcan::LinkedListNode< TransferBufferManagerEntry >
 LinkedListNode ()
 
 ~LinkedListNode ()
 

Detailed Description

Resizable gather/scatter storage. reset() call releases all memory blocks. Supports unordered write operations - from higher to lower offsets

Definition at line 102 of file transfer_buffer.hpp.

Constructor & Destructor Documentation

◆ TransferBufferManagerEntry()

uavcan::TransferBufferManagerEntry::TransferBufferManagerEntry ( IPoolAllocator allocator,
uint16_t  max_size 
)
inline

Definition at line 126 of file transfer_buffer.hpp.

◆ ~TransferBufferManagerEntry()

virtual uavcan::TransferBufferManagerEntry::~TransferBufferManagerEntry ( )
inlinevirtual

Definition at line 136 of file transfer_buffer.hpp.

Member Function Documentation

◆ destroy()

void uavcan::TransferBufferManagerEntry::destroy ( TransferBufferManagerEntry *&  obj,
IPoolAllocator allocator 
)
static

Definition at line 141 of file uc_transfer_buffer.cpp.

◆ getKey()

const TransferBufferManagerKey& uavcan::TransferBufferManagerEntry::getKey ( ) const
inline

Definition at line 146 of file transfer_buffer.hpp.

◆ instantiate()

TransferBufferManagerEntry * uavcan::TransferBufferManagerEntry::instantiate ( IPoolAllocator allocator,
uint16_t  max_size 
)
static

Definition at line 130 of file uc_transfer_buffer.cpp.

◆ isEmpty()

bool uavcan::TransferBufferManagerEntry::isEmpty ( ) const
inline

Definition at line 147 of file transfer_buffer.hpp.

◆ read()

int uavcan::TransferBufferManagerEntry::read ( unsigned  offset,
uint8_t data,
unsigned  len 
) const
virtual

Implements uavcan::ITransferBuffer.

Definition at line 151 of file uc_transfer_buffer.cpp.

◆ reset()

void uavcan::TransferBufferManagerEntry::reset ( const TransferBufferManagerKey key = TransferBufferManagerKey())

Definition at line 258 of file uc_transfer_buffer.cpp.

◆ write()

int uavcan::TransferBufferManagerEntry::write ( unsigned  offset,
const uint8_t data,
unsigned  len 
)
virtual

Implements uavcan::ITransferBuffer.

Definition at line 187 of file uc_transfer_buffer.cpp.

Member Data Documentation

◆ allocator_

IPoolAllocator& uavcan::TransferBufferManagerEntry::allocator_
private

Definition at line 119 of file transfer_buffer.hpp.

◆ blocks_

LinkedListRoot<Block> uavcan::TransferBufferManagerEntry::blocks_
private

Definition at line 120 of file transfer_buffer.hpp.

◆ key_

TransferBufferManagerKey uavcan::TransferBufferManagerEntry::key_
private

Definition at line 123 of file transfer_buffer.hpp.

◆ max_size_

const uint16_t uavcan::TransferBufferManagerEntry::max_size_
private

Definition at line 122 of file transfer_buffer.hpp.

◆ max_write_pos_

uint16_t uavcan::TransferBufferManagerEntry::max_write_pos_
private

Definition at line 121 of file transfer_buffer.hpp.


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


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:05