Compare commits
3 Commits
b6e24d0548
...
e9e33883bf
| Author | SHA1 | Date |
|---|---|---|
|
|
e9e33883bf | |
|
|
318640572f | |
|
|
f6e2de5668 |
|
|
@ -2,8 +2,8 @@
|
||||||
%define CommitVersion %(echo $COMMIT_VERSION)
|
%define CommitVersion %(echo $COMMIT_VERSION)
|
||||||
|
|
||||||
Name: libserverframe
|
Name: libserverframe
|
||||||
Version: 1.2.5
|
Version: 1.2.6
|
||||||
Release: 1%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: network framework library
|
Summary: network framework library
|
||||||
License: AGPL v3.0
|
License: AGPL v3.0
|
||||||
Group: Arch/Tech
|
Group: Arch/Tech
|
||||||
|
|
@ -12,9 +12,9 @@ Source: http://github.com/happyfish100/libserverframe/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: libfastcommon-devel >= 1.0.75
|
BuildRequires: libfastcommon-devel >= 1.0.76
|
||||||
Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id
|
Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id
|
||||||
Requires: libfastcommon >= 1.0.75
|
Requires: libfastcommon >= 1.0.76
|
||||||
|
|
||||||
%description
|
%description
|
||||||
common framework library
|
common framework library
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,9 @@ int sf_binlog_writer_notify_exit(SFBinlogWriterInfo *writer);
|
||||||
#define sf_binlog_writer_set_flags(writer, flags) \
|
#define sf_binlog_writer_set_flags(writer, flags) \
|
||||||
sf_file_writer_set_flags(&(writer)->fw, flags)
|
sf_file_writer_set_flags(&(writer)->fw, flags)
|
||||||
|
|
||||||
|
#define sf_binlog_writer_set_write_done_callback(writer, callback, args) \
|
||||||
|
sf_file_writer_set_write_done_callback(&(writer)->fw, callback, args)
|
||||||
|
|
||||||
#define sf_binlog_writer_get_last_version_ex(writer, log_level) \
|
#define sf_binlog_writer_get_last_version_ex(writer, log_level) \
|
||||||
sf_file_writer_get_last_version_ex(&(writer)->fw, log_level)
|
sf_file_writer_get_last_version_ex(&(writer)->fw, log_level)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -244,6 +244,11 @@ static int do_write_to_file(SFFileWriterInfo *writer,
|
||||||
}
|
}
|
||||||
|
|
||||||
writer->file.size += len;
|
writer->file.size += len;
|
||||||
|
if (writer->write_done_callback.func != NULL) {
|
||||||
|
writer->write_done_callback.func(writer,
|
||||||
|
writer->write_done_callback.args);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -422,6 +427,7 @@ int sf_file_writer_init(SFFileWriterInfo *writer, const char *data_path,
|
||||||
writer->last_versions.pending = 0;
|
writer->last_versions.pending = 0;
|
||||||
writer->last_versions.done = 0;
|
writer->last_versions.done = 0;
|
||||||
writer->flags = 0;
|
writer->flags = 0;
|
||||||
|
sf_file_writer_set_write_done_callback(writer, NULL, NULL);
|
||||||
if ((result=sf_binlog_buffer_init(&writer->
|
if ((result=sf_binlog_buffer_init(&writer->
|
||||||
binlog_buffer, buffer_size)) != 0)
|
binlog_buffer, buffer_size)) != 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,11 @@
|
||||||
#define SF_BINLOG_FILE_PREFIX "binlog"
|
#define SF_BINLOG_FILE_PREFIX "binlog"
|
||||||
#define SF_BINLOG_FILE_EXT_FMT ".%06d"
|
#define SF_BINLOG_FILE_EXT_FMT ".%06d"
|
||||||
|
|
||||||
|
struct sf_file_writer_info;
|
||||||
|
|
||||||
|
typedef void (*sf_file_write_done_callback)(
|
||||||
|
struct sf_file_writer_info *writer, void *args);
|
||||||
|
|
||||||
typedef struct sf_file_writer_info {
|
typedef struct sf_file_writer_info {
|
||||||
struct {
|
struct {
|
||||||
const char *data_path;
|
const char *data_path;
|
||||||
|
|
@ -60,6 +65,12 @@ typedef struct sf_file_writer_info {
|
||||||
int64_t pending;
|
int64_t pending;
|
||||||
volatile int64_t done;
|
volatile int64_t done;
|
||||||
} last_versions;
|
} last_versions;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
sf_file_write_done_callback func;
|
||||||
|
void *args;
|
||||||
|
} write_done_callback;
|
||||||
|
|
||||||
} SFFileWriterInfo;
|
} SFFileWriterInfo;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
@ -103,6 +114,14 @@ static inline void sf_file_writer_set_call_fsync(
|
||||||
writer->cfg.call_fsync = call_fsync;
|
writer->cfg.call_fsync = call_fsync;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void sf_file_writer_set_write_done_callback (
|
||||||
|
SFFileWriterInfo *writer, sf_file_write_done_callback callback,
|
||||||
|
void *args)
|
||||||
|
{
|
||||||
|
writer->write_done_callback.func = callback;
|
||||||
|
writer->write_done_callback.args = args;
|
||||||
|
}
|
||||||
|
|
||||||
static inline int64_t sf_file_writer_get_last_version_ex(
|
static inline int64_t sf_file_writer_get_last_version_ex(
|
||||||
SFFileWriterInfo *writer, const int log_level)
|
SFFileWriterInfo *writer, const int log_level)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue