Bitcoin full node and query server

Feb 2, 2023

View in context in the libbitcoin Slack #general mirror.

evoskuil11:09
More good stuff today. Decided to do the work to buffer and total outgoing data per channel. This is the basis of the DoS strategy that was put off forever. Turned out to be super simple. No change to the channel/proxy public interfaces, as it remains just asynchronous. Handlers still invoked in order for each queued write. It's just that they are queued in a deque as opposed to the opaque asio work buffer. This also closes an issue that probably existed with interleave of large (>64k, at least on Win32) writes on a given channel. It's all there now, including the config, tracking of total send and current backlog, log messages, etc. Just need to decide on the formulation for channel dropping based on buffer excess and peer rate limit.
👍 1