export function sf_file_writer_direct_write
parent
7ee7e7b535
commit
3815c0b2ce
|
|
@ -257,7 +257,7 @@ static int do_write_to_file(SFFileWriterInfo *writer,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int check_write_to_file(SFFileWriterInfo *writer,
|
||||
int sf_file_writer_direct_write(SFFileWriterInfo *writer,
|
||||
char *buff, const int len)
|
||||
{
|
||||
int result;
|
||||
|
|
@ -293,7 +293,7 @@ int sf_file_writer_flush(SFFileWriterInfo *writer)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if ((result=check_write_to_file(writer, writer->
|
||||
if ((result=sf_file_writer_direct_write(writer, writer->
|
||||
binlog_buffer.buff, len)) == 0)
|
||||
{
|
||||
if (writer->flags & SF_FILE_WRITER_FLAGS_WANT_DONE_VERSION) {
|
||||
|
|
@ -359,8 +359,8 @@ int sf_file_writer_deal_versioned_buffer(SFFileWriterInfo *writer,
|
|||
}
|
||||
}
|
||||
|
||||
if ((result=check_write_to_file(writer, buffer->buff,
|
||||
buffer->length)) == 0)
|
||||
if ((result=sf_file_writer_direct_write(writer, buffer->
|
||||
buff, buffer->length)) == 0)
|
||||
{
|
||||
if (writer->flags & SF_FILE_WRITER_FLAGS_WANT_DONE_VERSION) {
|
||||
writer->last_versions.pending = version;
|
||||
|
|
|
|||
|
|
@ -84,6 +84,9 @@ int sf_file_writer_init(SFFileWriterInfo *writer, const char *data_path,
|
|||
|
||||
void sf_file_writer_destroy(SFFileWriterInfo *writer);
|
||||
|
||||
int sf_file_writer_direct_write(SFFileWriterInfo *writer,
|
||||
char *buff, const int len);
|
||||
|
||||
int sf_file_writer_deal_versioned_buffer(SFFileWriterInfo *writer,
|
||||
BufferInfo *buffer, const int64_t version);
|
||||
|
||||
|
|
@ -247,6 +250,13 @@ int sf_file_writer_set_binlog_start_index(SFFileWriterInfo *writer,
|
|||
int sf_file_writer_set_binlog_write_index(SFFileWriterInfo *writer,
|
||||
const int last_index);
|
||||
|
||||
static inline int sf_file_writer_rotate_file(SFFileWriterInfo *writer)
|
||||
{
|
||||
int last_index;
|
||||
last_index = sf_file_writer_get_current_write_index(writer);
|
||||
return sf_file_writer_set_binlog_write_index(writer, last_index + 1);
|
||||
}
|
||||
|
||||
int sf_file_writer_get_last_lines(const char *data_path,
|
||||
const char *subdir_name, const int current_write_index,
|
||||
char *buff, const int buff_size, int *count, int *length);
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
|
||||
#define SF_BINLOG_BUFFER_PRODUCER_DATA_LENGTH(bf) ((bf).data_end - (bf).buff)
|
||||
#define SF_BINLOG_BUFFER_PRODUCER_BUFF_REMAIN(bf) ((bf).buff_end - (bf).data_end)
|
||||
#define SF_BINLOG_BUFFER_CONSUMER_DATA_LENGTH(bf) ((bf).current - (bf).buff)
|
||||
#define SF_BINLOG_BUFFER_CONSUMER_DATA_REMAIN(bf) ((bf).data_end - (bf).current)
|
||||
|
||||
typedef int (*sf_accept_done_callback)(struct fast_task_info *task,
|
||||
|
|
|
|||
Loading…
Reference in New Issue