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;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
|
@ -408,9 +409,8 @@ int sf_file_writer_save_buffer(SFFileWriterInfo *writer, const int length)
|
|||
}
|
||||
|
||||
writer->binlog_buffer.data_end += length;
|
||||
|
||||
if (SF_BINLOG_BUFFER_PRODUCER_BUFF_REMAIN(writer->binlog_buffer) <
|
||||
writer->cfg.max_record_size)
|
||||
if (flush || SF_BINLOG_BUFFER_PRODUCER_BUFF_REMAIN(writer->
|
||||
binlog_buffer) < writer->cfg.max_record_size)
|
||||
{
|
||||
return sf_file_writer_flush(writer);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -100,7 +100,22 @@ int sf_file_writer_fsync(SFFileWriterInfo *writer);
|
|||
#define SF_FILE_WRITER_NEXT_DATA_VERSION(writer) \
|
||||
++((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(
|
||||
SFFileWriterInfo *writer, const short flags)
|
||||
|
|
|
|||
Loading…
Reference in New Issue