9#include <botan/internal/out_buf.h>
11#include <botan/internal/secqueue.h>
21 return q->
read(output, length);
32 return q->
peek(output, length, stream_offset);
65 BOTAN_ASSERT(m_buffers.size() < m_buffers.max_size(),
"Room was available in container");
67 m_buffers.push_back(std::unique_ptr<SecureQueue>(queue));
74 for(
auto& buf : m_buffers) {
75 if(buf && buf->empty()) {
80 while(!m_buffers.empty() && !m_buffers[0]) {
81 m_buffers.pop_front();
96 return m_buffers[msg - m_offset].get();
103 return (m_offset + m_buffers.size());
#define BOTAN_ASSERT(expr, assertion_made)
Pipe::message_id message_count() const
size_t get_bytes_read(Pipe::message_id) const
size_t remaining(Pipe::message_id) const
size_t peek(uint8_t[], size_t, size_t, Pipe::message_id) const
size_t read(uint8_t[], size_t, Pipe::message_id)
size_t read(uint8_t[], size_t) override
size_t get_bytes_read() const override
size_t peek(uint8_t[], size_t, size_t=0) const override