Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
RedisLabs Raft
Commits
c7d4e751
Commit
c7d4e751
authored
Dec 13, 2018
by
Yossi Gottlieb
Browse files
Add custom raft_entry free function.
parent
6430c51f
Changes
2
Show whitespace changes
Inline
Side-by-side
include/raft.h
View file @
c7d4e751
...
@@ -89,7 +89,7 @@ typedef struct
...
@@ -89,7 +89,7 @@ typedef struct
}
raft_entry_data_t
;
}
raft_entry_data_t
;
/** Entry that is stored in the server's entry log. */
/** Entry that is stored in the server's entry log. */
typedef
struct
typedef
struct
raft_entry
{
{
/** the entry's term at the point it was created */
/** the entry's term at the point it was created */
raft_term_t
term
;
raft_term_t
term
;
...
@@ -106,6 +106,9 @@ typedef struct
...
@@ -106,6 +106,9 @@ typedef struct
/** private local data */
/** private local data */
void
*
user_data
;
void
*
user_data
;
/** free function, used instead of __free if specified */
void
(
*
free_func
)
(
struct
raft_entry
*
entry
);
/** data length */
/** data length */
unsigned
int
data_len
;
unsigned
int
data_len
;
...
...
src/raft_server.c
View file @
c7d4e751
...
@@ -1539,8 +1539,12 @@ void raft_entry_release(raft_entry_t *ety)
...
@@ -1539,8 +1539,12 @@ void raft_entry_release(raft_entry_t *ety)
ety
->
refs
--
;
ety
->
refs
--
;
if
(
!
ety
->
refs
)
{
if
(
!
ety
->
refs
)
{
if
(
ety
->
free_func
)
{
ety
->
free_func
(
ety
);
}
else
{
__raft_free
(
ety
);
__raft_free
(
ety
);
}
}
}
}
}
void
raft_entry_release_list
(
raft_entry_t
**
ety_list
,
size_t
len
)
void
raft_entry_release_list
(
raft_entry_t
**
ety_list
,
size_t
len
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment