Rajoute le compteur d'écritures dans le WriteBuffer
This commit is contained in:
parent
fbc2e4730d
commit
e19860e544
10
inc/buffer.h
10
inc/buffer.h
|
@ -18,6 +18,10 @@ struct WriteBuffer {
|
|||
// le tampon d'écriture est plein
|
||||
size_t pending_bits;
|
||||
|
||||
// Nombre d'octets écrits par le tampon d'écriture dans le
|
||||
// fichier, correspondant au nombre de vidages du tampon
|
||||
size_t flushed_count;
|
||||
|
||||
// Fichier dans lequel le tampon d'éciture est vidé à l'appel
|
||||
// de `flushBuffer` ou au débordement
|
||||
FILE* dest_file;
|
||||
|
@ -40,6 +44,12 @@ void putBuffer(char bit, WriteBuffer*);
|
|||
*/
|
||||
void flushBuffer(WriteBuffer*);
|
||||
|
||||
/**
|
||||
* Récupère le nombre de vidages effectués sur le tampon d'écriture,
|
||||
* correspondant au nombre d'octets écrits par le tampon dans le fichier
|
||||
*/
|
||||
size_t getFlushedCount(WriteBuffer*);
|
||||
|
||||
/**
|
||||
* Tampon permettant d'abstraire le lecture depuis un fichier bit par
|
||||
* bit au lieu d'octet par octet. Un octet est lu depuis le fichier
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
|
||||
WriteBuffer createWriteBuffer(FILE* file) {
|
||||
WriteBuffer buffer = {
|
||||
.data = 0,
|
||||
.pending_bits = 0,
|
||||
.dest_file = file
|
||||
};
|
||||
|
||||
|
@ -35,6 +33,11 @@ void flushBuffer(WriteBuffer* buffer) {
|
|||
|
||||
buffer->data = 0;
|
||||
buffer->pending_bits = 0;
|
||||
buffer->flushed_count++;
|
||||
}
|
||||
|
||||
size_t getFlushedCount(WriteBuffer* buffer) {
|
||||
return buffer->flushed_count;
|
||||
}
|
||||
|
||||
ReadBuffer createReadBuffer(FILE* file) {
|
||||
|
|
Loading…
Reference in New Issue