* reworked the dandelion rewrite (dandelion++)
* fallback to fluff/broadcast if we cannot stem the tx for any reason
* rework stem vs fluff logic during accepting tx
* cleanup docs
* add is_stem to logging
* cleanup
* rustfmt
* cleanup monitor and logging
* rework dandelion monitor to use simple cutoff for aggregation
* transition to next epoch *after* processing tx
so we fluff final outstanding txs
* fluff all txs in stempool if any are older than 30s
aggressively aggregate when we can
* fix rebase onto 1.1.0
* default config comments for Dandelion
* fix code to reflect our tests - fallback to txpool on stempool error
* log fluff and expire errors in dandelion monitor
* cleanup
* fix off by one
* cleanup
* cleanup
* various fixes
* one less clone
* cleanup
* dynamically resize lmdb
* rustfmt
* explicitly close db before resizing
* rustfmt
* test fix
* rustfmt
* pool tests
* chain fix
* merge
* move RwLock into Store, ensure resize gives a min threshold
* rustfmt
* move locks based on testing
* rustfmt
* Add hooks for network and chain events. Move logging to an EventLogger
* implement webhooks
* fix failing test
* remove unnecessary 'pub'
* add some metadata to the json payload
* avoid unecessary init
* resolve conflicts
* wip
* big refactor, regretting doing this now
* PeerAddr everywhere
* cleanup
* fixup server tests
* peers api working for GET, POST is still WIP
* we can now ban/unban peers by ip only (port optional)
* chore: replace trim_right with $ sed -i'' 's/trim_right/trim_end/' **/*.rs
* docs: individually document macros to avoid warning, add TODO to make to_edge hygenic
* docs: document impl_array_newtype macros, refactor: move all impl_array_newtype macro traits into impl_array_netype_index
* clean-up the txhashset zip file and temp folder
* adapt test_txhashset with the new zip_read function
* fix: the wrong folder when cleaning up old zips
* fix: Fix race condition with dandelion_relay peer map and make more semantic
* Fix bug where we don't actually re-read the dandelion_relay variable after refreshing it
If WouldBlock error happens Stratum server drops part of a message to
read or write. This PR inroduces a worker's buffer to store partially
read message which will be completed next time. For write the existing
util function is used.
Fixes#2524
It seems that current approach stops workring after amount of parallel
connection exceeds ~500. This PR introduces an 'async' feature which
enable asyncronius, tokio based implementation of stratum server.
* fix bug with passing current_difficulty in Handler
I passed in Handler current_difficulty as an u64, so it was copied
and all later changes were ignored. In this commit I pass referece on
RwLock with current_difficulty.
* fix crash in build_block
* improve error handling
* print error message on unknown error
* replace original server by tokio based one
* fixes after review
* reduce sleep time in mail loop to 5ms