Commit Graph

17 Commits

Author SHA1 Message Date
Neil Booth
c9a10be5ba Introduce incoming buffer size limit
- incoming buffered network requests limited to 150,000 bytes
  which I believe is ample for a genuine client
- if exceeded, the connection is dropped
- raise outgoing data limit for RPC connections to 5 MB - expect
  sessions calls can be long and connection is implicitly trusted
- similarly raise incoming buffered data limit to 5 MB for RPC
  connections
2016-11-29 20:24:58 +09:00
Neil Booth
c08ade5861 Add session logging facility
Move session logging code to protocol.py from electrum_rpc.py
Use it for periodic logging controlled by envvar LOG_SESSIONS
For each session, track sent transaction stats and show that
per-session instead of errors
2016-11-29 08:00:54 +09:00
Neil Booth
198fe298b7 Bump timeout to 15s. Show timeout if timed out. 2016-11-26 07:14:38 +09:00
Neil Booth
42c00d32d2 Rewrite lib/jsonrpc.py to be a useful client too
Use for an improved electrumx_rpc.py, so it now handles responses spread
over several packets.  Also added a timeout of 5 seconds.

Fixes #43
2016-11-25 21:19:43 +09:00
Neil Booth
b2672a4ae5 Widen subs column 2016-11-16 19:26:16 +09:00
Neil Booth
5fffc25188 Get send and recv the right way round 2016-11-14 21:12:54 +09:00
Neil Booth
0725b54a45 Tweak RPC output 2016-11-14 19:52:02 +09:00
Neil Booth
a22a4650a5 Use json.dumps to print 2016-11-14 07:54:59 +09:00
Neil Booth
831225492e Better RPC sessions stats 2016-11-13 15:28:34 +09:00
Neil Booth
3b6ab77e47 Break out JSONRPC into own file
- improved handling of JSON 2.0 RPC protocol
- permits batched requests (not yet supported by Electrum client)
2016-11-13 13:39:37 +09:00
Neil Booth
c93f6cb920 Final cleanup 2016-11-12 21:48:34 +09:00
Neil Booth
cb7b7dd1fe Move pretty printing of sessions to client
Tweak logging
2016-11-12 21:36:49 +09:00
Neil Booth
6946863879 Add setup.py
Fix electrum_rpc.py
Rename server_main.py to electrumx_server.py
2016-11-05 18:00:03 +09:00
Neil Booth
d2ebb80fac Extend copyright notice; improve comments 2016-11-03 16:45:06 +09:00
Neil Booth
334ffdaa4f Begin work on proper server 2016-10-17 20:02:42 +09:00
Neil Booth
edc33febe8 Improve help of electrumx_rpc 2016-10-16 09:31:00 +09:00
Neil Booth
0b01026b88 Add an RPC server
And associated electrumx_rpc command
2016-10-16 08:58:53 +09:00