neo-go/pkg/network
Roman Khimov e1b5ac9b81 network: separate tx handling from msg handling
This allows to naturally scale transaction processing if we have some peer
that is sending a lot of them while others are mostly silent. It also can help
somewhat in the event we have 50 peers that all send transactions. 4+1
scenario benefits a lot from it, while 7+2 slows down a little. Delayed
scenarios don't care.

Surprisingly, this also makes disconnects (#2744) much more rare, 4-node
scenario almost never sees it now. Most probably this is the case where peers
affect each other a lot, single-threaded transaction receiver can be slow
enough to trigger some timeout in getdata handler of its peer (because it
tries to push a number of replies).
2022-10-21 12:11:24 +03:00
..
capability [#2442] English Check 2022-05-04 19:48:27 +03:00
extpool [#2442] English Check 2022-05-04 19:48:27 +03:00
payload *: use uint*Size and SignatureLen constants where appropriate 2022-10-05 10:45:52 +03:00
blockqueue.go [#2442] English Check 2022-05-04 19:48:27 +03:00
blockqueue_test.go [#2442] English Check 2022-05-04 19:48:27 +03:00
compress.go network: check compressed payload size in decompress 2022-03-24 17:22:55 +03:00
discovery.go network: implement adaptive peer requests 2022-10-14 15:53:32 +03:00
discovery_test.go network: simplify discoverer, make it almost a lib 2022-10-14 15:53:32 +03:00
fuzz_test.go *: bump minimum supported go version 2022-08-08 13:59:32 +03:00
helper_test.go Merge pull request #2743 from nspcc-dev/log-fan-out 2022-10-14 23:18:34 +07:00
message.go golangci: enable errorlint and fix everything it found 2022-09-02 18:36:23 +03:00
message_string.go transaction: fix Rules stringer, it's WitnessRules in C# 2022-05-06 10:08:09 +03:00
message_test.go network: check compressed payload size in decompress 2022-03-24 17:22:55 +03:00
notary_feer.go network: decouple it from blockchainer.Blockchainer 2022-01-14 19:57:16 +03:00
peer.go network: broadcast messages, enqueue packets 2022-10-12 15:39:20 +03:00
prometheus.go network: add prometheus histogram with cmd processing time 2022-10-17 22:51:16 +03:00
server.go network: separate tx handling from msg handling 2022-10-21 12:11:24 +03:00
server_config.go network: add BroadcastFactor to control gossip, fix #2678 2022-10-14 15:53:32 +03:00
server_test.go network: separate tx handling from msg handling 2022-10-21 12:11:24 +03:00
state_sync.go network: decouple it from blockchainer.Blockchainer 2022-01-14 19:57:16 +03:00
tcp_peer.go network: deduplicate TCPPeer code a bit 2022-10-12 15:43:31 +03:00
tcp_peer_test.go network: drop unused EnqueueMessage interface from Peer 2022-10-12 15:27:08 +03:00
tcp_transport.go network: use net.ErrClosed to check network connection was closed 2022-03-17 19:39:18 +03:00
transport.go protocol: add capabilities to version payload 2020-05-27 19:01:14 +03:00