1
/*************************************************
2
* Buffered EntropySource Header File *
3
* (C) 1999-2007 The Botan Project *
4
*************************************************/
6
#ifndef BOTAN_BUFFERED_ES_H__
7
#define BOTAN_BUFFERED_ES_H__
9
#include <botan/base.h>
13
/*************************************************
14
* Buffered EntropySource *
15
*************************************************/
16
class Buffered_EntropySource : public EntropySource
19
u32bit slow_poll(byte[], u32bit);
20
u32bit fast_poll(byte[], u32bit);
22
Buffered_EntropySource();
23
u32bit copy_out(byte[], u32bit, u32bit);
25
void add_bytes(const void*, u32bit);
26
void add_bytes(u64bit);
29
virtual void do_slow_poll() = 0;
30
virtual void do_fast_poll();
32
SecureVector<byte> buffer;
33
u32bit write_pos, read_pos;