27 #ifndef BINARYSTORAGEBUFFER_H
28 #define BINARYSTORAGEBUFFER_H
34 #define MAX_BUFF 10000000
36 #define MAX_BUCKET 500000000
77 void store (
void* stream,
unsigned int nb_bytes);
84 std::cout<<
"BinaryStorageBuffer::set_buff";
93 if(
_buff == NULL)
fatal(
"BinaryStorageBuffer::set_buff::memory exhausted !!\n");
106 std::cout<<
"[ok]"<<std::endl;
116 _buff =
new char [length];
118 memcpy(
_buff, zone, length);
135 _buff =
new char [length];
137 memset(
_buff,
'\0', length);
154 _buff =
new char [length];
193 std::cout<<
"BinaryStorageBuffer::extend_buff"<<std::flush;
196 char *old_buff, *new_buff;
202 if(new_buff == NULL)
fatal(
"BinaryStorageBuffer::extend_buff::memory exhausted !!\n");
213 std::cout<<
"["<<
_len<<
" B]"<<std::endl;
219 inline void read (
void *out,
unsigned int nb_bytes)
223 fatal(
"BinaryStorageBuffer::read::attempt to read beyond buffer length (asked %i bytes)\n",nb_bytes);
225 char *tab = (
char*)out;
229 for(
unsigned int i = 0; i < nb_bytes; ++i)
236 void BSBread(
void *out,
unsigned int nb_bytes)
237 {
read(out,nb_bytes); }
#define MAX_BUFF
Definition: binarystoragebuffer.h:34
A class to handle simulation data saving in binary format.
Definition: binarydatasaver.h:42
A class to store any kind of data in a char buffer before unloading it in a binary data file.
Definition: binarystoragebuffer.h:42
void read(void *out, unsigned int nb_bytes)
Definition: binarystoragebuffer.h:219
off_t getBuffLength() const
Definition: binarystoragebuffer.h:58
off_t _tot_bytes_in
Definition: binarystoragebuffer.h:47
char * getBuffer() const
Definition: binarystoragebuffer.h:57
unsigned int _num_buckets
Definition: binarystoragebuffer.h:46
void emptyBuffer()
Definition: binarystoragebuffer.h:69
unsigned int getBytesOut() const
Definition: binarystoragebuffer.h:60
char * _buff
Definition: binarystoragebuffer.h:45
void set_buff(size_t length)
Definition: binarystoragebuffer.h:131
off_t _len
Definition: binarystoragebuffer.h:47
void set_buff(BinaryDataSaver *owner)
Definition: binarystoragebuffer.h:81
void clear()
Definition: binarystoragebuffer.h:61
off_t getTotByteRecorded() const
Definition: binarystoragebuffer.h:59
BinaryDataSaver * _myDataSaver
Definition: binarystoragebuffer.h:49
off_t _bytes_out
Definition: binarystoragebuffer.h:47
BinaryStorageBuffer()
Definition: binarystoragebuffer.h:53
off_t _bytes_in
Definition: binarystoragebuffer.h:47
off_t set_buff_from_file(int FD, size_t length)
Definition: binarystoragebuffer.h:150
void store(void *stream, unsigned int nb_bytes)
Definition: binarystoragebuffer.cc:36
void set_buff(void *zone, size_t length)
Definition: binarystoragebuffer.h:112
void BSBread(void *out, unsigned int nb_bytes)
Definition: binarystoragebuffer.h:236
~BinaryStorageBuffer()
Definition: binarystoragebuffer.h:55
void extend_buff()
Definition: binarystoragebuffer.h:190
void fatal(const char *str,...)
Definition: output.cc:98