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
|
// le tampon d'écriture est plein
|
||||||
size_t pending_bits;
|
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
|
// Fichier dans lequel le tampon d'éciture est vidé à l'appel
|
||||||
// de `flushBuffer` ou au débordement
|
// de `flushBuffer` ou au débordement
|
||||||
FILE* dest_file;
|
FILE* dest_file;
|
||||||
|
@ -40,6 +44,12 @@ void putBuffer(char bit, WriteBuffer*);
|
||||||
*/
|
*/
|
||||||
void flushBuffer(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
|
* 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
|
* bit au lieu d'octet par octet. Un octet est lu depuis le fichier
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
|
|
||||||
WriteBuffer createWriteBuffer(FILE* file) {
|
WriteBuffer createWriteBuffer(FILE* file) {
|
||||||
WriteBuffer buffer = {
|
WriteBuffer buffer = {
|
||||||
.data = 0,
|
|
||||||
.pending_bits = 0,
|
|
||||||
.dest_file = file
|
.dest_file = file
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -35,6 +33,11 @@ void flushBuffer(WriteBuffer* buffer) {
|
||||||
|
|
||||||
buffer->data = 0;
|
buffer->data = 0;
|
||||||
buffer->pending_bits = 0;
|
buffer->pending_bits = 0;
|
||||||
|
buffer->flushed_count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t getFlushedCount(WriteBuffer* buffer) {
|
||||||
|
return buffer->flushed_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReadBuffer createReadBuffer(FILE* file) {
|
ReadBuffer createReadBuffer(FILE* file) {
|
||||||
|
|
Loading…
Reference in New Issue