match new Automat tracing API (in glyph/automat#56 PR)

This commit is contained in:
Brian Warner 2017-03-30 13:18:49 -07:00
parent d44a5335b4
commit 271efb6025
13 changed files with 30 additions and 30 deletions

View File

@ -10,8 +10,7 @@ from . import _interfaces
class Allocator(object):
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def wire(self, rendezvous_connector, code):
self._RC = _interfaces.IRendezvousConnector(rendezvous_connector)

View File

@ -38,8 +38,7 @@ class Boss(object):
_tor_manager = attrib() # TODO: ITorManager or None
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._build_workers()
@ -92,9 +91,22 @@ class Boss(object):
"RC": self._RC, "L": self._L, "C": self._C,
"T": self._T}
for machine in which.split():
def tracer(old_state, input, new_state, machine=machine):
print("%s.%s[%s].%s -> [%s]" % (client_name, machine,
old_state, input, new_state))
def tracer(old_state, input, new_state, output, machine=machine):
if output is None:
if new_state:
print("%s.%s[%s].%s -> [%s]" %
(client_name, machine, old_state, input,
new_state))
else:
# the RendezvousConnector emits message events as if
# they were state transitions, except that old_state
# and new_state are empty strings. "input" is one of
# R.connected, R.rx(type phase+side), R.tx(type
# phase), R.lost .
print("%s.%s.%s" % (client_name, machine, input))
else:
if new_state:
print(" %s.%s.%s()" % (client_name, machine, output))
names[machine].set_trace(tracer)
def serialize(self):

View File

@ -13,8 +13,7 @@ def first(outputs):
class Code(object):
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def wire(self, boss, allocator, nameplate, key, input):
self._B = _interfaces.IBoss(boss)

View File

@ -13,8 +13,7 @@ def first(outputs):
class Input(object):
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._all_nameplates = set()

View File

@ -64,8 +64,7 @@ class Key(object):
_side = attrib(validator=instance_of(type(u"")))
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def _set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._SK = _SortedKey(self._appid, self._versions, self._side,
@ -114,8 +113,7 @@ class _SortedKey(object):
_side = attrib(validator=instance_of(type(u"")))
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def wire(self, boss, mailbox, receive):
self._B = _interfaces.IBoss(boss)

View File

@ -10,8 +10,7 @@ from . import _interfaces
class Lister(object):
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def wire(self, rendezvous_connector, input):
self._RC = _interfaces.IRendezvousConnector(rendezvous_connector)

View File

@ -10,8 +10,7 @@ from . import _interfaces
class Mailbox(object):
_side = attrib(validator=instance_of(type(u"")))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._mailbox = None

View File

@ -7,8 +7,7 @@ from ._wordlist import PGPWordList
@implementer(_interfaces.INameplate)
class Nameplate(object):
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __init__(self):
self._nameplate = None

View File

@ -11,8 +11,7 @@ class Order(object):
_side = attrib(validator=instance_of(type(u"")))
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._key = None

View File

@ -12,8 +12,7 @@ class Receive(object):
_side = attrib(validator=instance_of(type(u"")))
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._key = None

View File

@ -86,7 +86,7 @@ class RendezvousConnector(object):
self._trace = f
def _debug(self, what):
if self._trace:
self._trace(old_state="", input=what, new_state="")
self._trace(old_state="", input=what, new_state="", output=None)
def _make_endpoint(self, hostname, port):
if self._tor_manager:

View File

@ -12,8 +12,7 @@ class Send(object):
_side = attrib(validator=instance_of(type(u"")))
_timing = attrib(validator=provides(_interfaces.ITiming))
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __attrs_post_init__(self):
self._queue = []

View File

@ -6,8 +6,7 @@ from . import _interfaces
@implementer(_interfaces.ITerminator)
class Terminator(object):
m = MethodicalMachine()
@m.setTrace()
def set_trace(): pass # pragma: no cover
set_trace = m.setTrace
def __init__(self):
self._mood = None