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
Willemt Raft
Commits
36daccba
Commit
36daccba
authored
May 13, 2016
by
Willem Thiart
Browse files
Add raft_get_my_node
parent
547e6175
Changes
3
Hide whitespace changes
Inline
Side-by-side
include/raft.h
View file @
36daccba
...
...
@@ -475,6 +475,10 @@ int raft_recv_entry(raft_server_t* me,
* @return server's node ID; -1 if it doesn't know what it is */
int
raft_get_nodeid
(
raft_server_t
*
me
);
/**
* @return the server's node */
raft_node_t
*
raft_get_my_node
(
raft_server_t
*
me_
);
/**
* @return currently configured election timeout in milliseconds */
int
raft_get_election_timeout
(
raft_server_t
*
me
);
...
...
src/raft_server_properties.c
View file @
36daccba
...
...
@@ -33,7 +33,10 @@ void raft_set_request_timeout(raft_server_t* me_, int millisec)
int
raft_get_nodeid
(
raft_server_t
*
me_
)
{
return
raft_node_get_id
(((
raft_server_private_t
*
)
me_
)
->
node
);
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
if
(
!
me
->
node
)
return
-
1
;
return
raft_node_get_id
(
me
->
node
);
}
int
raft_get_election_timeout
(
raft_server_t
*
me_
)
...
...
@@ -151,6 +154,18 @@ raft_node_t* raft_get_node(raft_server_t *me_, int nodeid)
return
NULL
;
}
raft_node_t
*
raft_get_my_node
(
raft_server_t
*
me_
)
{
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
int
i
;
for
(
i
=
0
;
i
<
me
->
num_nodes
;
i
++
)
if
(
raft_get_nodeid
(
me_
)
==
raft_node_get_id
(
me
->
nodes
[
i
]))
return
me
->
nodes
[
i
];
return
NULL
;
}
raft_node_t
*
raft_get_node_from_idx
(
raft_server_t
*
me_
,
const
int
idx
)
{
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
...
...
tests/test_server.c
View file @
36daccba
...
...
@@ -22,6 +22,14 @@ void TestRaft_server_voted_for_records_who_we_voted_for(CuTest * tc)
CuAssertTrue
(
tc
,
2
==
raft_get_voted_for
(
r
));
}
void
TestRaft_server_get_my_node
(
CuTest
*
tc
)
{
void
*
r
=
raft_new
();
raft_node_t
*
me
=
raft_add_node
(
r
,
NULL
,
1
,
1
);
raft_add_node
(
r
,
NULL
,
2
,
0
);
CuAssertTrue
(
tc
,
me
==
raft_get_my_node
(
r
));
}
void
TestRaft_server_idx_starts_at_1
(
CuTest
*
tc
)
{
void
*
r
=
raft_new
();
...
...
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