Go to the documentation of this file.
5 #ifndef UAVCAN_TRANSPORT_TRANSFER_BUFFER_HPP_INCLUDED
6 #define UAVCAN_TRANSPORT_TRANSFER_BUFFER_HPP_INCLUDED
35 virtual int read(
unsigned offset,
uint8_t* data,
unsigned len)
const;
36 virtual int write(
unsigned offset,
const uint8_t* data,
unsigned len);
49 template <u
int16_t Size>
77 , transfer_type_(ttype)
113 void read(
uint8_t*& outptr,
unsigned target_offset,
114 unsigned& total_offset,
unsigned& left_to_read);
115 void write(
const uint8_t*& inptr,
unsigned target_offset,
116 unsigned& total_offset,
unsigned& left_to_write);
127 allocator_(allocator),
141 virtual int read(
unsigned offset,
uint8_t* data,
unsigned len)
const;
142 virtual int write(
unsigned offset,
const uint8_t* data,
unsigned len);
199 #endif // UAVCAN_TRANSPORT_TRANSFER_BUFFER_HPP_INCLUDED
ITransferBuffer * create()
ITransferBuffer * access()
TransferBufferManager & bufmgr_
IPoolAllocator & allocator_
TransferBufferManagerKey()
LinkedListRoot< TransferBufferManagerEntry > buffers_
ITransferBuffer * create(const TransferBufferManagerKey &key)
struct UAVCAN_EXPORT StaticAssert
TransferBufferManagerEntry * findFirst(const TransferBufferManagerKey &key)
TransferBufferManagerKey(NodeID node_id, TransferType ttype)
void remove(const TransferBufferManagerKey &key)
virtual int write(unsigned offset, const uint8_t *data, unsigned len)
const TransferBufferManagerKey & getKey() const
virtual ~TransferBufferManagerEntry()
IPoolAllocator & allocator_
uint16_t getMaxWritePos() const
static std::string toString(long x)
const TransferBufferManagerKey key_
TransferBufferManagerEntry(IPoolAllocator &allocator, uint16_t max_size)
unsigned getNumBuffers() const
StaticTransferBufferImpl(uint8_t *buf, uint16_t buf_size)
void setMaxWritePos(uint16_t value)
static const unsigned MemPoolBlockSize
Safe default that should be OK for any platform.
LinkedListRoot< Block > blocks_
TransferBufferManager(uint16_t max_buf_size, IPoolAllocator &allocator)
TransferType getTransferType() const
const uint8_t * getRawPtr() const
TransferBufferAccessor(TransferBufferManager &bufmgr, TransferBufferManagerKey key)
bool operator==(const TransferBufferManagerKey &rhs) const
ITransferBuffer * access(const TransferBufferManagerKey &key)
const uint16_t max_buf_size_
TransferBufferManagerKey key_
virtual int read(unsigned offset, uint8_t *data, unsigned len) const