9 #include <botan/internal/out_buf.h>
10 #include <botan/secqueue.h>
22 return q->
read(output, length);
35 return q->
peek(output, length, stream_offset);
69 "Room was available in container");
71 m_buffers.push_back(queue);
79 for(
size_t i = 0; i != m_buffers.size(); ++i)
80 if(m_buffers[i] && m_buffers[i]->size() == 0)
83 m_buffers[i] =
nullptr;
86 while(m_buffers.size() && !m_buffers[0])
88 m_buffers.pop_front();
103 return m_buffers[msg-m_offset];
111 return (m_offset + m_buffers.size());
127 for(
size_t j = 0; j != m_buffers.size(); ++j)
size_t read(uint8_t[], size_t) override
#define BOTAN_ASSERT(expr, assertion_made)
size_t peek(uint8_t[], size_t, size_t, Pipe::message_id) const
size_t peek(uint8_t[], size_t, size_t=0) const override
size_t get_bytes_read() const override
size_t remaining(Pipe::message_id) const
size_t get_bytes_read(Pipe::message_id) const
void add(class SecureQueue *)
size_t read(uint8_t[], size_t, Pipe::message_id)
Pipe::message_id message_count() const