aboutsummaryrefslogtreecommitdiff
path: root/rpc_client_loopback.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2016-12-28 00:27:03 -0500
committerRob Austein <sra@hactrn.net>2016-12-28 00:27:03 -0500
commit0c9048b97575e56131cd89b3b0882cefa5de2cf2 (patch)
treeddaac526cc38e867758aa9848c7a61c1dbb782c5 /rpc_client_loopback.c
parent147208e5724d92f49f7252d0e877979ff4424173 (diff)
Experimental libhal RPC MUX based on PySerial and Tornado.
This is a work in progress, so far it only works with libhal.py client, haven't adapted libhal C client code for this yet. General idea is to let PySerial and Tornado handle all the pesky work of dealing with Unix serial ports, PF_LOCAL connection management, select() vs epoll() vs kqueue() vs ... I/O management, etcetera. We could do this with just PySerial and the Python standard libraries, but using Tornado allows us to do it in a single process, without threading, and also leaves the door open for consolidating other HSM management functions (eg, console access) into the same single daemon process. For the moment we're using SLIP framing over a SOCK_STREAM connection, which is a bit silly but avoids the problem of OSX not supporting SOCK_SEQPACKET. In the long run we're going to want a real channel security protocol here, so don't sweat this too much right now.
Diffstat (limited to 'rpc_client_loopback.c')
0 files changed, 0 insertions, 0 deletions