sf_binlog_writer_change_write_index impl.

vote_node
YuQing 2022-05-19 18:14:33 +08:00
parent 353dde7059
commit f490366c03
2 changed files with 20 additions and 2 deletions

View File

@ -205,6 +205,13 @@ static int deal_binlog_records(SFBinlogWriterThread *thread,
return result;
}
break;
case SF_BINLOG_BUFFER_TYPE_SET_WRITE_INDEX:
if ((result=sf_file_writer_set_binlog_last_index(&current->
writer->fw, current->version.first)) != 0)
{
return result;
}
break;
case SF_BINLOG_BUFFER_TYPE_NOTIFY_EXIT:
flush_writer_files(thread);
return ERRNO_THREAD_EXIT;
@ -525,6 +532,13 @@ int sf_binlog_writer_change_next_version(SFBinlogWriterInfo *writer,
next_version);
}
int sf_binlog_writer_change_write_index(SFBinlogWriterInfo *writer,
const int write_index)
{
return sf_binlog_writer_push_directive(writer,
SF_BINLOG_BUFFER_TYPE_SET_WRITE_INDEX, write_index);
}
int sf_binlog_writer_rotate_file(SFBinlogWriterInfo *writer)
{
return sf_binlog_writer_push_directive(writer,

View File

@ -31,8 +31,9 @@
#define SF_BINLOG_BUFFER_TYPE_WRITE_TO_FILE 0 //default type, must be 0
#define SF_BINLOG_BUFFER_TYPE_SET_NEXT_VERSION 1
#define SF_BINLOG_BUFFER_TYPE_CHANGE_ORDER_TYPE 2
#define SF_BINLOG_BUFFER_TYPE_ROTATE_FILE 3
#define SF_BINLOG_BUFFER_TYPE_NOTIFY_EXIT 4
#define SF_BINLOG_BUFFER_TYPE_SET_WRITE_INDEX 3
#define SF_BINLOG_BUFFER_TYPE_ROTATE_FILE 4
#define SF_BINLOG_BUFFER_TYPE_NOTIFY_EXIT 5
#define SF_BINLOG_BUFFER_SET_VERSION(buffer, ver) \
(buffer)->version.first = (buffer)->version.last = ver
@ -167,6 +168,9 @@ int sf_binlog_writer_change_next_version(SFBinlogWriterInfo *writer,
int sf_binlog_writer_rotate_file(SFBinlogWriterInfo *writer);
int sf_binlog_writer_change_write_index(SFBinlogWriterInfo *writer,
const int write_index);
int sf_binlog_writer_notify_exit(SFBinlogWriterInfo *writer);
#define sf_binlog_writer_set_flags(writer, flags) \