|
Botan
1.11.15
|
#include <out_buf.h>
Public Member Functions | |
| void | add (class SecureQueue *) |
| size_t | get_bytes_read (Pipe::message_id) const |
| Pipe::message_id | message_count () const |
| Output_Buffers () | |
| size_t | peek (byte[], size_t, size_t, Pipe::message_id) const |
| size_t | read (byte[], size_t, Pipe::message_id) |
| size_t | remaining (Pipe::message_id) const |
| void | retire () |
| ~Output_Buffers () | |
Definition at line 117 of file out_buf.cpp.
{
offset = 0;
}
Definition at line 125 of file out_buf.cpp.
{
for(size_t j = 0; j != buffers.size(); ++j)
delete buffers[j];
}
| void Botan::Output_Buffers::add | ( | class SecureQueue * | queue | ) |
Definition at line 64 of file out_buf.cpp.
References BOTAN_ASSERT.
{
BOTAN_ASSERT(queue, "queue was provided");
BOTAN_ASSERT(buffers.size() < buffers.max_size(),
"Room was available in container");
buffers.push_back(queue);
}
| size_t Botan::Output_Buffers::get_bytes_read | ( | Pipe::message_id | msg | ) | const |
Definition at line 53 of file out_buf.cpp.
References Botan::SecureQueue::get_bytes_read(), and q.
Referenced by Botan::Pipe::get_bytes_read().
{
SecureQueue* q = get(msg);
if (q)
return q->get_bytes_read();
return 0;
}
Definition at line 109 of file out_buf.cpp.
Referenced by Botan::Pipe::message_count().
{
return (offset + buffers.size());
}
| size_t Botan::Output_Buffers::peek | ( | byte | output[], |
| size_t | length, | ||
| size_t | stream_offset, | ||
| Pipe::message_id | msg | ||
| ) | const |
Definition at line 29 of file out_buf.cpp.
References Botan::SecureQueue::peek(), and q.
Referenced by Botan::Pipe::peek().
{
SecureQueue* q = get(msg);
if(q)
return q->peek(output, length, stream_offset);
return 0;
}
| size_t Botan::Output_Buffers::read | ( | byte | output[], |
| size_t | length, | ||
| Pipe::message_id | msg | ||
| ) |
Definition at line 17 of file out_buf.cpp.
References q, and Botan::SecureQueue::read().
Referenced by Botan::Pipe::read().
{
SecureQueue* q = get(msg);
if(q)
return q->read(output, length);
return 0;
}
| size_t Botan::Output_Buffers::remaining | ( | Pipe::message_id | msg | ) | const |
Definition at line 42 of file out_buf.cpp.
References q, and Botan::SecureQueue::size().
Referenced by Botan::Pipe::remaining().
{
SecureQueue* q = get(msg);
if(q)
return q->size();
return 0;
}
| void Botan::Output_Buffers::retire | ( | ) |
Definition at line 77 of file out_buf.cpp.
Referenced by Botan::Pipe::end_msg().
{
for(size_t i = 0; i != buffers.size(); ++i)
if(buffers[i] && buffers[i]->size() == 0)
{
delete buffers[i];
buffers[i] = nullptr;
}
while(buffers.size() && !buffers[0])
{
buffers.pop_front();
offset = offset + Pipe::message_id(1);
}
}
1.7.6.1