diff --git a/libuavcan/include/uavcan/internal/transport/transfer_buffer.hpp b/libuavcan/include/uavcan/internal/transport/transfer_buffer.hpp index e1e75934b9..d5a6c64cd3 100644 --- a/libuavcan/include/uavcan/internal/transport/transfer_buffer.hpp +++ b/libuavcan/include/uavcan/internal/transport/transfer_buffer.hpp @@ -326,19 +326,6 @@ public: } } - unsigned int getNumDynamicBuffers() const { return dynamic_buffers_.length(); } - - unsigned int getNumStaticBuffers() const - { - unsigned int res = 0; - for (unsigned int i = 0; i < NUM_STATIC_BUFS; i++) - { - if (!static_buffers_[i].isEmpty()) - res++; - } - return res; - } - TransferBufferBase* access(const TransferBufferManagerKey& key) { if (key.isEmpty()) @@ -398,6 +385,21 @@ public: DynamicTransferBuffer::destroy(dyn, allocator_); } } + + bool isEmpty() const { return (getNumStaticBuffers() == 0) && (getNumDynamicBuffers() == 0); } + + unsigned int getNumDynamicBuffers() const { return dynamic_buffers_.length(); } + + unsigned int getNumStaticBuffers() const + { + unsigned int res = 0; + for (unsigned int i = 0; i < NUM_STATIC_BUFS; i++) + { + if (!static_buffers_[i].isEmpty()) + res++; + } + return res; + } }; }