Commit Graph

67 Commits

Author SHA1 Message Date
Neil Booth 2c1ae050cc Make flushes and reorgs async
Apart from the flush on shutdown and the flush when caught up,
neither of which matter, this makes flushes asynchronous.

Also, block processing for reorgs is now asynchronous.

This also removes the FORCE_REORG debug envvar; I want to
put that into the RPC interface.

Closes #102
2017-01-09 16:15:17 +09:00
Neil Booth ef09936cdc Rename NETWORK envvar to NET
For consistency with lib/coins.py

SegWit testnet needs its own NET
2017-01-08 10:07:58 +09:00
Neil Booth b704f12c5b Split out history into its own DB. 2017-01-07 11:51:12 +09:00
Neil Booth 6ff69cf60c Fix log message 2017-01-07 11:51:00 +09:00
Neil Booth 2c6d79989e Tweak documentation for clarity 2017-01-07 11:51:00 +09:00
Neil Booth badd68b5f5 Update the ARCHITECTURE document
Also has a pretty line diagram
2017-01-03 17:05:39 +09:00
Neil Booth 8a07e66265 Move ENV-NOTES to ENVIRONMENT.rst
Improve environment documentation
2017-01-03 14:18:59 +09:00
Neil Booth 81f6e9ee18 Explain what logging a session means 2017-01-03 09:18:30 +09:00
Neil Booth 11061bb6e4 Add documentation of the RPC interface 2017-01-02 19:29:19 +09:00
Neil Booth 1eb245f74c New env var MAX_SESSIONS
When the number of sessions reaches MAX_SESSIONS, which defaults
to 1,000, turn off TCP and SSL listening sockets to prevent new
connections.  When the session count falls below a low watermark,
currently 90% of MAX_SESSIONS, the listening sockets will be re-opened.
Helps prevent DoS and limit open file usage.

Bug fix: do not start serving paused connections until the buffer
socket is sufficiently drained.  Also, loop.
2016-12-13 22:47:03 +09:00
Neil Booth aa8a146668 Fix cut-n-pasteo 2016-12-10 09:07:08 +09:00
Neil Booth dddc4d9a77 Give sockets a grace period to close
Defaults to 15 seconds for now.
Update docs on systemd and process limits.
Fixes #62
2016-12-10 08:52:24 +09:00
Neil Booth a2a98e3428 Revert "Add feature to rate limit connections"
This reverts commit a82ab0b07577c624031e725ce780d4bcb77c30b9.
2016-12-05 23:27:36 +09:00
Neil Booth 61917c2686 Add feature to rate limit connections 2016-12-04 21:14:45 +09:00
Neil Booth 08928ca6d2 Prepare 0.8.1 2016-12-03 20:24:53 +09:00
Neil Booth 36b71afb84 Close stale sessions
New envvar SESSION_TIMEOUT
A session with no activity is cut off after this time
Fixes #56
2016-12-03 13:06:20 +09:00
Shane Moore 19715818ba Add Tor-specific port options for IRC 2016-12-01 03:21:52 -08:00
Shane Moore 39bc03dc72 Add IRC option to publish Tor address 2016-11-30 23:50:20 -08:00
Neil Booth 6e70672961 Prepare 0.7.14 2016-11-29 22:22:07 +09:00
Neil Booth 68b267a9d1 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 bf4dea7fd7 Replace $VERSION in the banner file
with the ElectrumX version string
2016-11-26 18:19:53 +09:00
Neil Booth 569aafe59b Bump default value of MAX_SEND to 1m bytes.
Otherwise historic large txs could not be served to clients.
2016-11-26 15:22:42 +09:00
Neil Booth 232575f906 Tweak ENV-NOTES 2016-11-26 10:13:19 +09:00
Neil Booth d8e96730ea Prepare release-0.7.10 2016-11-26 09:53:47 +09:00
Neil Booth ce642c7b83 Log large requests and reject them 2016-11-26 09:32:29 +09:00
Neil Booth e53f9d7d1f Prepare 0.7.9 2016-11-25 21:23:14 +09:00
Neil Booth 2d5bb6b981 Prepare release 0.7.8 2016-11-25 08:10:53 +09:00
Neil Booth 9d32506477 Prepare 0.7.7 2016-11-24 23:42:49 +09:00
Neil Booth ce569a3aa7 Introduce MAX_HIST environment variable. 2016-11-24 23:30:40 +09:00
Neil Booth 4629aa2c1e Prepare 0.7.6 2016-11-23 22:52:23 +09:00
Neil Booth 6372e93bc1 Prepare 0.7.5 2016-11-23 17:59:18 +09:00
Neil Booth 7de6a10bdb Merge branch 'release-0.7.4' 2016-11-23 09:56:15 +09:00
Neil Booth 405d9f36e7 Prepare 0.7.4 2016-11-23 09:55:54 +09:00
Neil Booth fdfdd850f1 Add feature to simulate reorgs for debugging 2016-11-23 09:52:30 +09:00
Neil Booth 42ad7ebfb7 Merge branch 'release-0.7.3' 2016-11-22 08:11:59 +09:00
Neil Booth 597520bfcb Prepare 0.7.3 2016-11-22 08:11:05 +09:00
Neil Booth eb09fe29ca Update REL-NOTES 2016-11-22 07:06:40 +09:00
Neil Booth 5030c24fac Update REL-NOTES 2016-11-22 07:06:00 +09:00
cluelessperson 657d496919 Reorganization of init systems files, adding systemd sample config 2016-11-20 08:51:27 -06:00
Neil Booth 90fd610771 Prepare 0.7.1 2016-11-20 22:03:04 +09:00
Neil Booth d649d1222b Implement daemon failover
Daemon URLs can be comma-separated in the DAEMON_URL env var.
Surrounding whitespace is stripped.
http:// is preprended if missing.
The coin's default port is supplied if missing.
A trailing / is supplied if missing.
Closes #33
2016-11-20 20:52:54 +09:00
Neil Booth 66d05b1244 Prepare 0.6.3 2016-11-19 17:10:58 +09:00
Neil Booth 42b299f50b Add subscription limits 2016-11-19 10:51:16 +09:00
Neil Booth 6927eb5528 Prepare release 0.6.2 2016-11-19 08:21:17 +09:00
Neil Booth a6450f8978 Prepare release 0.6.1 2016-11-18 22:28:42 +09:00
Neil Booth 9512b017ad Prepare release 0.6 2016-11-17 23:08:19 +09:00
Neil Booth 849ec91ae3 Move file 2016-11-16 07:32:53 +09:00
Neil Booth 81336d50d8 Prepare 0.5.1 2016-11-15 21:34:08 +09:00
Neil Booth 638b1fba26 Prepare 0.5 release 2016-11-13 22:41:11 +09:00
Neil Booth 8de77cf01c Prepare 0.4.3 2016-11-13 17:55:50 +09:00