View in context in the libbitcoin Slack #general mirror.
getdata (block) requests. I verified this on our end but also in their code.
Since we have to deal with them, we have to treat this as allowed behavior. So I made it configurable. You'll be able to watch the overlapped I/O errors cause core nodes to drop by changing config 🙂. Working well now, passing block 375k on one manual connection from core, with no drops or delays.
I'm perf-logging our block retrieval time, and had to change the scale to microseconds. Adding up all times the total retrieval time is 29% of the total time. If core took the same time to read and serialize the block as we took to deserialize and write it, the run at that point (300k, or ~5% of the chain) would be 15 minutes, but it's about 53 minutes. This machine syncs the entire chain off the Internet in 53 minutes.