[Cryptech-Commits] [sw/libhal] 02/04: Debugging code to track message flow.
git at cryptech.is
git at cryptech.is
Mon Mar 6 22:16:13 UTC 2017
This is an automated email from the git hooks/post-receive script.
sra at hactrn.net pushed a commit to branch pymux
in repository sw/libhal.
commit 72bddf4f2e7e711abd0df7bf71e0e653a090b899
Author: Rob Austein <sra at hactrn.net>
AuthorDate: Mon Mar 6 17:12:45 2017 -0500
Debugging code to track message flow.
---
cryptech_muxd | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/cryptech_muxd b/cryptech_muxd
index d51e38b..269ac15 100755
--- a/cryptech_muxd
+++ b/cryptech_muxd
@@ -149,12 +149,14 @@ class RPCIOStream(SerialIOStream):
self.queues[handle] = queue
with (yield self.rpc_input_lock.acquire()):
yield self.write(query)
+ logger.debug("RPC sent")
@tornado.gen.coroutine
def rpc_output_loop(self):
"Handle reply stream HSM -> network."
while True:
try:
+ logger.debug("RPC UART read")
reply = yield self.read_until(SLIP_END)
except tornado.iostream.StreamClosedError:
logger.info("RPC UART closed")
@@ -166,6 +168,8 @@ class RPCIOStream(SerialIOStream):
handle = client_handle_get(slip_decode(reply))
except:
continue
+ logger.debug("RPC queue put: handle 0x%x, qsize %s, maxsize %s",
+ handle, self.queues[handle].qsize(), self.queues[handle].maxsize)
self.queues[handle].put_nowait(reply)
@@ -181,25 +185,29 @@ class RPCServer(PFUnixServer):
@tornado.gen.coroutine
def handle_stream(self, stream, address):
"Handle one network connection."
- logger.info("RPC connected %r", stream)
handle = stream.socket.fileno()
queue = tornado.queues.Queue()
+ logger.info("RPC connected %r, handle 0x%x", stream, handle)
while True:
try:
+ logger.debug("RPC socket read, handle 0x%x", handle)
query = yield stream.read_until(SLIP_END)
if len(query) < 9:
continue
query = slip_encode(client_handle_set(slip_decode(query), handle))
yield self.serial.rpc_input(query, handle, queue)
+ logger.debug("RPC queue wait, handle 0x%x", handle)
reply = yield queue.get()
if reply is None:
raise QueuedStreamClosedError()
+ logger.debug("RPC socket write, handle 0x%x", handle)
yield stream.write(SLIP_END + reply)
except tornado.iostream.StreamClosedError:
- logger.info("RPC closing %r", stream)
+ logger.info("RPC closing %r, handle 0x%x", stream, handle)
stream.close()
return
+
class CTYIOStream(SerialIOStream):
"""
Tornado IOStream for a serial console channel.
More information about the Commits
mailing list