remove old-follower.py, flake8 still sees it
and doesn't like what it sees
This commit is contained in:
parent
78358358bc
commit
dd8bff30f2
130
old-follower.py
130
old-follower.py
|
@ -1,130 +0,0 @@
|
|||
|
||||
class ManagerFollower(_ManagerBase):
|
||||
m = MethodicalMachine()
|
||||
set_trace = getattr(m, "_setTrace", lambda self, f: None)
|
||||
|
||||
@m.state(initial=True)
|
||||
def IDLE(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.state()
|
||||
def WANTING(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.state()
|
||||
def CONNECTING(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.state()
|
||||
def CONNECTED(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.state(terminal=True)
|
||||
def STOPPED(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.input()
|
||||
def start(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.input()
|
||||
def rx_PLEASE(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.input()
|
||||
def rx_DILATE(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.input()
|
||||
def rx_HINTS(self, hint_message):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.input()
|
||||
def connection_made(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
@m.input()
|
||||
def connection_lost(self):
|
||||
pass # pragma: no cover
|
||||
# follower doesn't react to connection_lost, but waits for a new LETS_DILATE
|
||||
|
||||
@m.input()
|
||||
def stop(self):
|
||||
pass # pragma: no cover
|
||||
|
||||
# these Outputs behave differently for the Leader vs the Follower
|
||||
@m.output()
|
||||
def send_please(self):
|
||||
self.send_dilation_phase(type="please")
|
||||
|
||||
@m.output()
|
||||
def start_connecting(self):
|
||||
self._start_connecting(FOLLOWER)
|
||||
|
||||
# these Outputs delegate to the same code in both the Leader and the
|
||||
# Follower, but they must be replicated here because the Automat instance
|
||||
# is on the subclass, not the shared superclass
|
||||
|
||||
@m.output()
|
||||
def use_hints(self, hint_message):
|
||||
hint_objs = filter(lambda h: h, # ignore None, unrecognizable
|
||||
[parse_hint(hs) for hs in hint_message["hints"]])
|
||||
self._connector.got_hints(hint_objs)
|
||||
|
||||
@m.output()
|
||||
def stop_connecting(self):
|
||||
self._connector.stop()
|
||||
|
||||
@m.output()
|
||||
def use_connection(self, c):
|
||||
self._use_connection(c)
|
||||
|
||||
@m.output()
|
||||
def stop_using_connection(self):
|
||||
self._stop_using_connection()
|
||||
|
||||
@m.output()
|
||||
def signal_error(self):
|
||||
pass # TODO
|
||||
|
||||
@m.output()
|
||||
def signal_error_hints(self, hint_message):
|
||||
pass # TODO
|
||||
|
||||
IDLE.upon(rx_HINTS, enter=STOPPED, outputs=[signal_error_hints]) # too early
|
||||
IDLE.upon(rx_DILATE, enter=STOPPED, outputs=[signal_error]) # too early
|
||||
# leader shouldn't send us DILATE before receiving our PLEASE
|
||||
IDLE.upon(stop, enter=STOPPED, outputs=[])
|
||||
IDLE.upon(start, enter=WANTING, outputs=[send_please])
|
||||
WANTING.upon(rx_DILATE, enter=CONNECTING, outputs=[start_connecting])
|
||||
WANTING.upon(stop, enter=STOPPED, outputs=[])
|
||||
|
||||
CONNECTING.upon(rx_HINTS, enter=CONNECTING, outputs=[use_hints])
|
||||
CONNECTING.upon(connection_made, enter=CONNECTED, outputs=[use_connection])
|
||||
# shouldn't happen: connection_lost
|
||||
# CONNECTING.upon(connection_lost, enter=CONNECTING, outputs=[?])
|
||||
CONNECTING.upon(rx_DILATE, enter=CONNECTING, outputs=[stop_connecting,
|
||||
start_connecting])
|
||||
# receiving rx_DILATE while we're still working on the last one means the
|
||||
# leader thought we'd connected, then thought we'd been disconnected, all
|
||||
# before we heard about that connection
|
||||
CONNECTING.upon(stop, enter=STOPPED, outputs=[stop_connecting])
|
||||
|
||||
CONNECTED.upon(connection_lost, enter=WANTING, outputs=[stop_using_connection])
|
||||
CONNECTED.upon(rx_DILATE, enter=CONNECTING, outputs=[stop_using_connection,
|
||||
start_connecting])
|
||||
CONNECTED.upon(rx_HINTS, enter=CONNECTED, outputs=[]) # too late, ignore
|
||||
CONNECTED.upon(stop, enter=STOPPED, outputs=[stop_using_connection])
|
||||
# shouldn't happen: connection_made
|
||||
|
||||
# we should never receive PLEASE, we're the follower
|
||||
IDLE.upon(rx_PLEASE, enter=STOPPED, outputs=[signal_error])
|
||||
WANTING.upon(rx_PLEASE, enter=STOPPED, outputs=[signal_error])
|
||||
CONNECTING.upon(rx_PLEASE, enter=STOPPED, outputs=[signal_error])
|
||||
CONNECTED.upon(rx_PLEASE, enter=STOPPED, outputs=[signal_error])
|
||||
|
||||
def allocate_subchannel_id(self):
|
||||
# the follower uses even numbers starting with 2
|
||||
scid_num = self._next_outbound_seqnum + 2
|
||||
self._next_outbound_seqnum += 2
|
||||
return to_be4(scid_num)
|
Loading…
Reference in New Issue
Block a user