neo-go/pkg/core
Roman Khimov 8bb1ecb45a network: remove priority queue from block queue
Use circular buffer which is a bit more appropriate. The problem is that
priority queue accepts and stores equal items which wastes memory even in
normal usage scenario, but it's especially dangerous if the node is stuck for
some reason. In this case it'll accept from peers and put into queue the same
blocks again and again leaking memory up to OOM condition.

Notice that queue length calculation might be wrong in case circular buffer
wraps, but it's not very likely to happen (usually blocks not coming from the
queue are added by consensus and it's not very fast in doing so).
2021-11-01 11:49:01 +03:00
..
block network: remove priority queue from block queue 2021-11-01 11:49:01 +03:00
blockchainer rpc: refactor calculatenetworkfee handler 2021-10-25 19:07:25 +03:00
chaindump block: drop Network from the Header 2021-03-26 13:45:18 +03:00
dao core: split (*MemCachedStore) Seek and SeekAsync methods 2021-10-21 10:05:12 +03:00
fee fee: use array for opcodes 2021-08-02 20:18:33 +03:00
interop core: add finalizer functions to interop context 2021-10-21 10:05:12 +03:00
mempool mempool: reword ErrConflict message, fix #2197 2021-09-28 09:57:42 +03:00
mempoolevent core: move mempool.Event to a separate package 2021-06-01 12:24:28 +03:00
mpt core: add Trie.Find compatibility test 2021-10-15 10:28:08 +03:00
native core: refactor callers of MemCachedStore.Seek 2021-10-21 10:05:12 +03:00
state core: refactor callers of MemCachedStore.Seek 2021-10-21 10:05:12 +03:00
stateroot rpc: refactor calculatenetworkfee handler 2021-10-25 19:07:25 +03:00
statesync rpc: implement findstates RPC handler 2021-10-13 11:41:05 +03:00
storage core: split (*MemCachedStore) Seek and SeekAsync methods 2021-10-21 10:05:12 +03:00
test_data core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
transaction transaction: fix ContentTypeNotSupported oracle code processing 2021-09-14 15:18:38 +03:00
bench_test.go rpc: refactor calculatenetworkfee handler 2021-10-25 19:07:25 +03:00
blockchain.go rpc: refactor calculatenetworkfee handler 2021-10-25 19:07:25 +03:00
blockchain_test.go subscriptions: add container hash to notification event 2021-09-24 17:42:02 +03:00
doc.go core: add Blockchain event subscription mechanism 2020-05-25 00:27:39 +03:00
helper_test.go rpc: implement findstates RPC handler 2021-10-13 11:41:05 +03:00
interop_system.go core: add finalizer functions to interop context 2021-10-21 10:05:12 +03:00
interop_system_test.go core: add finalizer functions to interop context 2021-10-21 10:05:12 +03:00
interops.go interop: implement System.Runtime.GetRandom 2021-07-15 16:00:01 +03:00
interops_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_contract_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_designate_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_gas_test.go native: drop Refuel method from GAS 2021-08-05 10:27:13 +03:00
native_ledger_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
native_management_test.go core: maintain a set of NEP17-compliant contracts 2021-07-28 13:22:53 +03:00
native_neo_test.go core: fix NEO balance state handler 2021-09-20 19:23:35 +03:00
native_notary_test.go config: make MaxValidUntilBlockIncrement configurable 2021-05-17 13:43:03 +03:00
native_oracle_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_policy_test.go native/policy: disallow blocking native contracts 2021-09-03 11:11:06 +03:00
nonnative_name_service_test.go nft-nd-nns: add getAllRecords method 2021-09-10 16:30:45 +03:00
notary_test.go services: add ability to combine notary signers 2021-10-25 12:22:13 +03:00
oracle_test.go *: simplify some error messages 2021-07-23 10:08:09 +03:00
prometheus.go stateroot: move state-root related logic to core/stateroot 2021-03-09 13:48:29 +03:00
stateroot_test.go *: make tests use TempDir(), fix #1319 2021-08-26 17:29:40 +03:00
statesync_test.go core: check MPT node is not requested twice by StateSync module 2021-10-12 14:08:56 +03:00
util.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
util_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00