Renaming: TransferBufferBase --> ITransferBuffer

This commit is contained in:
Pavel Kirienko
2014-02-19 17:11:05 +04:00
parent cd851312ff
commit 195dca3696
9 changed files with 24 additions and 26 deletions
@@ -18,10 +18,10 @@ namespace uavcan
/** /**
* API for transfer buffer users. * API for transfer buffer users.
*/ */
class TransferBufferBase class ITransferBuffer
{ {
public: public:
virtual ~TransferBufferBase() { } virtual ~ITransferBuffer() { }
virtual int read(unsigned int offset, uint8_t* data, unsigned int len) const = 0; virtual int read(unsigned int offset, uint8_t* data, unsigned int len) const = 0;
virtual int write(unsigned int offset, const uint8_t* data, unsigned int len) = 0; virtual int write(unsigned int offset, const uint8_t* data, unsigned int len) = 0;
@@ -65,7 +65,7 @@ public:
/** /**
* Internal for TransferBufferManager * Internal for TransferBufferManager
*/ */
class TransferBufferManagerEntry : public TransferBufferBase, Noncopyable class TransferBufferManagerEntry : public ITransferBuffer, Noncopyable
{ {
TransferBufferManagerKey key_; TransferBufferManagerKey key_;
@@ -237,8 +237,8 @@ class ITransferBufferManager
{ {
public: public:
virtual ~ITransferBufferManager() { } virtual ~ITransferBufferManager() { }
virtual TransferBufferBase* access(const TransferBufferManagerKey& key) = 0; virtual ITransferBuffer* access(const TransferBufferManagerKey& key) = 0;
virtual TransferBufferBase* create(const TransferBufferManagerKey& key) = 0; virtual ITransferBuffer* create(const TransferBufferManagerKey& key) = 0;
virtual void remove(const TransferBufferManagerKey& key) = 0; virtual void remove(const TransferBufferManagerKey& key) = 0;
}; };
@@ -258,8 +258,8 @@ public:
assert(bufmgr); assert(bufmgr);
assert(!key.isEmpty()); assert(!key.isEmpty());
} }
TransferBufferBase* access() { return bufmgr_->access(key_); } ITransferBuffer* access() { return bufmgr_->access(key_); }
TransferBufferBase* create() { return bufmgr_->create(key_); } ITransferBuffer* create() { return bufmgr_->create(key_); }
void remove() { bufmgr_->remove(key_); } void remove() { bufmgr_->remove(key_); }
}; };
@@ -351,7 +351,7 @@ public:
} }
} }
TransferBufferBase* access(const TransferBufferManagerKey& key) ITransferBuffer* access(const TransferBufferManagerKey& key)
{ {
if (key.isEmpty()) if (key.isEmpty())
{ {
@@ -364,7 +364,7 @@ public:
return findFirstDynamic(key); return findFirstDynamic(key);
} }
TransferBufferBase* create(const TransferBufferManagerKey& key) ITransferBuffer* create(const TransferBufferManagerKey& key)
{ {
if (key.isEmpty()) if (key.isEmpty())
{ {
@@ -445,13 +445,13 @@ public:
(void)allocator; (void)allocator;
} }
TransferBufferBase* access(const TransferBufferManagerKey& key) ITransferBuffer* access(const TransferBufferManagerKey& key)
{ {
(void)key; (void)key;
return NULL; return NULL;
} }
TransferBufferBase* create(const TransferBufferManagerKey& key) ITransferBuffer* create(const TransferBufferManagerKey& key)
{ {
(void)key; (void)key;
return NULL; return NULL;
@@ -90,7 +90,7 @@ class TransferListenerBase : public LinkedListNode<TransferListenerBase>
const DataTypeDescriptor* const data_type_; const DataTypeDescriptor* const data_type_;
const Crc16 crc_base_; ///< Pre-initialized with data type hash, thus constant const Crc16 crc_base_; ///< Pre-initialized with data type hash, thus constant
bool checkPayloadCrc(const uint16_t compare_with, const TransferBufferBase& tbb) const; bool checkPayloadCrc(const uint16_t compare_with, const ITransferBuffer& tbb) const;
protected: protected:
TransferListenerBase(const DataTypeDescriptor* data_type) TransferListenerBase(const DataTypeDescriptor* data_type)
@@ -43,7 +43,7 @@ private:
void prepareForNextTransfer(); void prepareForNextTransfer();
bool validate(const RxFrame& frame) const; bool validate(const RxFrame& frame) const;
bool writePayload(const RxFrame& frame, TransferBufferBase& buf); bool writePayload(const RxFrame& frame, ITransferBuffer& buf);
ResultCode receive(const RxFrame& frame, TransferBufferAccessor& tba); ResultCode receive(const RxFrame& frame, TransferBufferAccessor& tba);
public: public:
@@ -10,7 +10,6 @@
#include <uavcan/internal/transport/crc.hpp> #include <uavcan/internal/transport/crc.hpp>
#include <uavcan/internal/transport/transfer.hpp> #include <uavcan/internal/transport/transfer.hpp>
#include <uavcan/internal/transport/dispatcher.hpp> #include <uavcan/internal/transport/dispatcher.hpp>
#include <uavcan/internal/transport/transfer_buffer.hpp>
namespace uavcan namespace uavcan
{ {
@@ -53,7 +53,7 @@ MultiFrameIncomingTransfer::MultiFrameIncomingTransfer(uint64_t ts_monotonic, ui
int MultiFrameIncomingTransfer::read(unsigned int offset, uint8_t* data, unsigned int len) const int MultiFrameIncomingTransfer::read(unsigned int offset, uint8_t* data, unsigned int len) const
{ {
const TransferBufferBase* const tbb = const_cast<TransferBufferAccessor&>(buf_acc_).access(); const ITransferBuffer* const tbb = const_cast<TransferBufferAccessor&>(buf_acc_).access();
if (tbb == NULL) if (tbb == NULL)
{ {
UAVCAN_TRACE("MultiFrameIncomingTransfer", "Read failed: no such buffer"); UAVCAN_TRACE("MultiFrameIncomingTransfer", "Read failed: no such buffer");
@@ -65,7 +65,7 @@ int MultiFrameIncomingTransfer::read(unsigned int offset, uint8_t* data, unsigne
/* /*
* TransferListenerBase * TransferListenerBase
*/ */
bool TransferListenerBase::checkPayloadCrc(const uint16_t compare_with, const TransferBufferBase& tbb) const bool TransferListenerBase::checkPayloadCrc(const uint16_t compare_with, const ITransferBuffer& tbb) const
{ {
Crc16 crc = crc_base_; Crc16 crc = crc_base_;
unsigned int offset = 0; unsigned int offset = 0;
@@ -109,7 +109,7 @@ void TransferListenerBase::handleReception(TransferReceiver& receiver, const RxF
case TransferReceiver::RESULT_COMPLETE: case TransferReceiver::RESULT_COMPLETE:
{ {
const TransferBufferBase* tbb = tba.access(); const ITransferBuffer* tbb = tba.access();
if (tbb == NULL) if (tbb == NULL)
{ {
UAVCAN_TRACE("TransferListenerBase", "Buffer access failure, last frame: %s", frame.toString().c_str()); UAVCAN_TRACE("TransferListenerBase", "Buffer access failure, last frame: %s", frame.toString().c_str());
@@ -84,7 +84,7 @@ bool TransferReceiver::validate(const RxFrame& frame) const
return true; return true;
} }
bool TransferReceiver::writePayload(const RxFrame& frame, TransferBufferBase& buf) bool TransferReceiver::writePayload(const RxFrame& frame, ITransferBuffer& buf)
{ {
const uint8_t* const payload = frame.getPayloadPtr(); const uint8_t* const payload = frame.getPayloadPtr();
const int payload_len = frame.getPayloadLen(); const int payload_len = frame.getPayloadLen();
@@ -132,7 +132,7 @@ TransferReceiver::ResultCode TransferReceiver::receive(const RxFrame& frame, Tra
} }
// Payload write // Payload write
TransferBufferBase* buf = tba.access(); ITransferBuffer* buf = tba.access();
if (buf == NULL) if (buf == NULL)
buf = tba.create(); buf = tba.create();
if (buf == NULL) if (buf == NULL)
+5 -5
View File
@@ -29,7 +29,7 @@ static void fill(const T a, int value)
a[i] = value; a[i] = value;
} }
static bool matchAgainst(const std::string& data, const uavcan::TransferBufferBase& tbb, static bool matchAgainst(const std::string& data, const uavcan::ITransferBuffer& tbb,
unsigned int offset = 0, int len = -1) unsigned int offset = 0, int len = -1)
{ {
uint8_t local_buffer[1024]; uint8_t local_buffer[1024];
@@ -68,7 +68,7 @@ static bool matchAgainst(const std::string& data, const uavcan::TransferBufferBa
return equals; return equals;
} }
static bool matchAgainstTestData(const uavcan::TransferBufferBase& tbb, unsigned int offset, int len = -1) static bool matchAgainstTestData(const uavcan::ITransferBuffer& tbb, unsigned int offset, int len = -1)
{ {
return matchAgainst(TEST_DATA, tbb, offset, len); return matchAgainst(TEST_DATA, tbb, offset, len);
} }
@@ -222,7 +222,7 @@ TEST(TransferBufferManager, TestDataValidation)
} }
static int fillTestData(const std::string& data, uavcan::TransferBufferBase* tbb) static int fillTestData(const std::string& data, uavcan::ITransferBuffer* tbb)
{ {
return tbb->write(0, reinterpret_cast<const uint8_t*>(data.c_str()), data.length()); return tbb->write(0, reinterpret_cast<const uint8_t*>(data.c_str()), data.length());
} }
@@ -231,7 +231,7 @@ TEST(TransferBufferManager, Basic)
{ {
using uavcan::TransferBufferManager; using uavcan::TransferBufferManager;
using uavcan::TransferBufferManagerKey; using uavcan::TransferBufferManagerKey;
using uavcan::TransferBufferBase; using uavcan::ITransferBuffer;
static const int POOL_BLOCKS = 8; static const int POOL_BLOCKS = 8;
uavcan::PoolAllocator<uavcan::MEM_POOL_BLOCK_SIZE * POOL_BLOCKS, uavcan::MEM_POOL_BLOCK_SIZE> pool; uavcan::PoolAllocator<uavcan::MEM_POOL_BLOCK_SIZE * POOL_BLOCKS, uavcan::MEM_POOL_BLOCK_SIZE> pool;
@@ -245,7 +245,7 @@ TEST(TransferBufferManager, Basic)
ASSERT_FALSE(mgr->access(TransferBufferManagerKey(0, uavcan::TRANSFER_TYPE_MESSAGE_UNICAST))); ASSERT_FALSE(mgr->access(TransferBufferManagerKey(0, uavcan::TRANSFER_TYPE_MESSAGE_UNICAST)));
ASSERT_FALSE(mgr->access(TransferBufferManagerKey(127, uavcan::TRANSFER_TYPE_MESSAGE_UNICAST))); ASSERT_FALSE(mgr->access(TransferBufferManagerKey(127, uavcan::TRANSFER_TYPE_MESSAGE_UNICAST)));
TransferBufferBase* tbb = NULL; ITransferBuffer* tbb = NULL;
const TransferBufferManagerKey keys[5] = const TransferBufferManagerKey keys[5] =
{ {
@@ -65,7 +65,7 @@ struct Context
}; };
static bool matchBufferContent(const uavcan::TransferBufferBase* tbb, const std::string& content) static bool matchBufferContent(const uavcan::ITransferBuffer* tbb, const std::string& content)
{ {
uint8_t data[1024]; uint8_t data[1024];
std::fill(data, data + sizeof(data), 0); std::fill(data, data + sizeof(data), 0);
@@ -35,7 +35,6 @@ TEST(TransferSender, Basic)
uavcan::OutgoingTransferRegistry<8> out_trans_reg(&poolmgr); uavcan::OutgoingTransferRegistry<8> out_trans_reg(&poolmgr);
static const uavcan::NodeID TX_NODE_ID(64); static const uavcan::NodeID TX_NODE_ID(64);
static const uavcan::NodeID RX_NODE_ID(65); static const uavcan::NodeID RX_NODE_ID(65);
uavcan::Dispatcher dispatcher_tx(&driver, &poolmgr, &clockmock, &out_trans_reg, TX_NODE_ID); uavcan::Dispatcher dispatcher_tx(&driver, &poolmgr, &clockmock, &out_trans_reg, TX_NODE_ID);