add function sf_file_writer_flush_buffer
parent
f9d8c3d070
commit
e095ce45c2
|
|
@ -394,7 +394,8 @@ int sf_file_writer_deal_versioned_buffer(SFFileWriterInfo *writer,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sf_file_writer_save_buffer(SFFileWriterInfo *writer, const int length)
|
int sf_file_writer_save_buffer_ex(SFFileWriterInfo *writer,
|
||||||
|
const int length, const bool flush)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
|
|
@ -408,9 +409,8 @@ int sf_file_writer_save_buffer(SFFileWriterInfo *writer, const int length)
|
||||||
}
|
}
|
||||||
|
|
||||||
writer->binlog_buffer.data_end += length;
|
writer->binlog_buffer.data_end += length;
|
||||||
|
if (flush || SF_BINLOG_BUFFER_PRODUCER_BUFF_REMAIN(writer->
|
||||||
if (SF_BINLOG_BUFFER_PRODUCER_BUFF_REMAIN(writer->binlog_buffer) <
|
binlog_buffer) < writer->cfg.max_record_size)
|
||||||
writer->cfg.max_record_size)
|
|
||||||
{
|
{
|
||||||
return sf_file_writer_flush(writer);
|
return sf_file_writer_flush(writer);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,22 @@ int sf_file_writer_fsync(SFFileWriterInfo *writer);
|
||||||
#define SF_FILE_WRITER_NEXT_DATA_VERSION(writer) \
|
#define SF_FILE_WRITER_NEXT_DATA_VERSION(writer) \
|
||||||
++((writer)->last_versions.pending)
|
++((writer)->last_versions.pending)
|
||||||
|
|
||||||
int sf_file_writer_save_buffer(SFFileWriterInfo *writer, const int length);
|
int sf_file_writer_save_buffer_ex(SFFileWriterInfo *writer,
|
||||||
|
const int length, const bool flush);
|
||||||
|
|
||||||
|
static inline int sf_file_writer_save_buffer(
|
||||||
|
SFFileWriterInfo *writer, const int length)
|
||||||
|
{
|
||||||
|
const bool flush = false;
|
||||||
|
return sf_file_writer_save_buffer_ex(writer, length, flush);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int sf_file_writer_flush_buffer(
|
||||||
|
SFFileWriterInfo *writer, const int length)
|
||||||
|
{
|
||||||
|
const bool flush = true;
|
||||||
|
return sf_file_writer_save_buffer_ex(writer, length, flush);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void sf_file_writer_set_flags(
|
static inline void sf_file_writer_set_flags(
|
||||||
SFFileWriterInfo *writer, const short flags)
|
SFFileWriterInfo *writer, const short flags)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue