We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8b65566 commit 5d4b962Copy full SHA for 5d4b962
konsensus/models/role.py
@@ -0,0 +1,18 @@
1
+from typing import Callable
2
+from node import Node
3
+
4
5
+class Role:
6
+ """Represents roles corresponding to the cluster"""
7
+ def __init__(self, node: Node) -> None:
8
+ self.node = node
9
+ self.node.register(self)
10
+ self.running = True
11
+ self.logger = node.logger.getChild(type(self).__name__)
12
13
+ def set_timer(self, seconds: int, callback: Callable):
14
+ return self.node.network.set_timer(self.node.address, seconds, lambda: self.running and callback())
15
16
+ def stop(self):
17
+ self.running = False
18
+ self.node.unregister(self)
0 commit comments