neo-go/pkg/core
Roman Khimov eeeb0f6f0e core: accept two-side channels for sub/unsub, read on unsub
Blockchain's notificationDispatcher sends events to channels and these
channels must be read from. Unfortunately, regular service shutdown procedure
does unsubscription first (outside of the read loop) and only then drains the
channel. While it waits for unsubscription request to be accepted
notificationDispatcher can try pushing more data into the same channel which
will lead to a deadlock. Reading in the same method solves this, any number of
events can be pushed until unsub channel accepts the data.
2022-08-19 22:08:40 +03:00
..
block block: JSONize tx-less block as [] instead of null 2022-07-21 13:15:31 +03:00
chaindump core: move chain dump test into its own package 2022-06-08 15:28:08 +03:00
dao limits: new package with storage limits 2022-07-08 23:30:30 +03:00
fee vm: add MODMUL and MODPOW opcodes 2022-05-12 14:25:14 +03:00
interop state: add more convenient method to get native contract hashes 2022-08-15 10:54:29 +03:00
mempool [#2442] English Check 2022-05-04 19:48:27 +03:00
mempoolevent [#2442] English Check 2022-05-04 19:48:27 +03:00
mpt *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
native core: fix native Management's hasMethod signature 2022-08-11 16:10:01 +03:00
state state: check for array length in (*Contract).FromStackItem 2022-08-16 17:19:47 +03:00
stateroot core, rpc: support [invokefunction, invokescript, invokecontractverify]historic 2022-04-29 16:10:04 +03:00
statesync network: allow to handle GetMPTData with KeepOnlyLatestState on 2022-07-14 14:33:20 +03:00
storage storage: reduce lock time in (*MemoryStore).Seek 2022-07-11 16:15:14 +03:00
test_data core: refactor helper test contracts generation 2022-03-30 11:46:29 +03:00
transaction *: bump minimum supported go version 2022-08-08 13:59:32 +03:00
basic_chain_test.go *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
bench_test.go *: reuse smartcontract package to create standard entry scripts 2022-07-26 12:19:49 +03:00
blockchain.go core: accept two-side channels for sub/unsub, read on unsub 2022-08-19 22:08:40 +03:00
blockchain_core_test.go core: use dao-binded cache for native contracts 2022-04-29 16:10:04 +03:00
blockchain_neotest_test.go subscriptions: move NotificationEvent to state 2022-07-25 11:58:13 +03:00
doc.go *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
helper_test.go core: rebase core tests onto neotest 2022-03-30 19:00:53 +03:00
interops.go core: move storage-related interop code into the storage package 2022-06-08 22:26:24 +03:00
native_designate_test.go core: add some comment for TestDesignate_DesignateAsRole 2022-06-08 23:11:14 +03:00
prometheus.go stateroot: move state-root related logic to core/stateroot 2021-03-09 13:48:29 +03:00
util.go core: export CreateGenesisBlock 2022-06-08 18:20:34 +03:00
util_test.go core: export CreateGenesisBlock 2022-06-08 18:20:34 +03:00