1
1
use super :: super :: { Address , Event , Instruction , Message , RequestID , Response } ;
2
- use super :: { rand_election_timeout, Candidate , Node , NodeID , RoleNode , Term , Ticks } ;
2
+ use super :: { rand_election_timeout, Candidate , Node , NodeID , NodeState , Term , Ticks } ;
3
3
use crate :: error:: { Error , Result } ;
4
4
5
5
use :: log:: { debug, error, info, warn} ;
@@ -34,7 +34,7 @@ impl Follower {
34
34
}
35
35
}
36
36
37
- impl RoleNode < Follower > {
37
+ impl NodeState < Follower > {
38
38
/// Asserts internal invariants.
39
39
fn assert ( & mut self ) -> Result < ( ) > {
40
40
self . assert_node ( ) ?;
@@ -59,7 +59,7 @@ impl RoleNode<Follower> {
59
59
60
60
/// Transforms the node into a candidate, by campaigning for leadership in a
61
61
/// new term.
62
- pub ( super ) fn become_candidate ( mut self ) -> Result < RoleNode < Candidate > > {
62
+ pub ( super ) fn become_candidate ( mut self ) -> Result < NodeState < Candidate > > {
63
63
// Abort any forwarded requests. These must be retried with new leader.
64
64
self . abort_forwarded ( ) ?;
65
65
@@ -70,7 +70,11 @@ impl RoleNode<Follower> {
70
70
71
71
/// Transforms the node into a follower, either a leaderless follower in a
72
72
/// new term or following a leader in the current term.
73
- fn become_follower ( mut self , leader : Option < NodeID > , term : Term ) -> Result < RoleNode < Follower > > {
73
+ fn become_follower (
74
+ mut self ,
75
+ leader : Option < NodeID > ,
76
+ term : Term ,
77
+ ) -> Result < NodeState < Follower > > {
74
78
assert ! ( term >= self . term, "Term regression {} -> {}" , self . term, term) ;
75
79
76
80
// Abort any forwarded requests. These must be retried with new leader.
@@ -268,17 +272,17 @@ pub mod tests {
268
272
use crate :: storage;
269
273
use tokio:: sync:: mpsc;
270
274
271
- pub fn follower_leader ( node : & RoleNode < Follower > ) -> Option < NodeID > {
275
+ pub fn follower_leader ( node : & NodeState < Follower > ) -> Option < NodeID > {
272
276
node. role . leader
273
277
}
274
278
275
- pub fn follower_voted_for ( node : & RoleNode < Follower > ) -> Option < NodeID > {
279
+ pub fn follower_voted_for ( node : & NodeState < Follower > ) -> Option < NodeID > {
276
280
node. role . voted_for
277
281
}
278
282
279
283
#[ allow( clippy:: type_complexity) ]
280
284
fn setup ( ) -> Result < (
281
- RoleNode < Follower > ,
285
+ NodeState < Follower > ,
282
286
mpsc:: UnboundedReceiver < Message > ,
283
287
mpsc:: UnboundedReceiver < Instruction > ,
284
288
) > {
@@ -291,7 +295,7 @@ pub mod tests {
291
295
log. commit ( 2 ) ?;
292
296
log. set_term ( 3 , None ) ?;
293
297
294
- let node = RoleNode {
298
+ let node = NodeState {
295
299
id : 1 ,
296
300
peers : HashSet :: from ( [ 2 , 3 , 4 , 5 ] ) ,
297
301
term : 3 ,
@@ -610,7 +614,7 @@ pub mod tests {
610
614
log. append ( 2 , Some ( vec ! [ 0x03 ] ) ) ?;
611
615
log. set_term ( 1 , None ) ?;
612
616
613
- let follower = RoleNode {
617
+ let follower = NodeState {
614
618
id : 1 ,
615
619
peers : HashSet :: from ( [ 2 , 3 , 4 , 5 ] ) ,
616
620
term : 1 ,
0 commit comments