Commit Graph

39 Commits

Author SHA1 Message Date
Felix Lange
6d5e100d0d event: add new Subscription type and related utilities
This commit introduces a new Subscription type, which is synonymous with
ethereum.Subscription. It also adds a couple of utilities that make
working with Subscriptions easier. The mot complex utility is Feed, a
synchronisation device that implements broadcast subscriptions. Feed is
slightly faster than TypeMux and will replace uses of TypeMux across the
go-ethereum codebase in the future.
2017-01-25 18:44:20 +01:00
Felix Lange
9b62facdd4 event: deprecate TypeMux and related types
The Subscription type is gone, all uses are replaced by
*TypeMuxSubscription. This change is prep-work for the
introduction of the new Subscription type in a later commit.

   gorename -from '"github.com/ethereum/go-ethereum/event"::Event' -to TypeMuxEvent
   gorename -from '"github.com/ethereum/go-ethereum/event"::muxsub' -to TypeMuxSubscription
   gofmt -w -r 'Subscription -> *TypeMuxSubscription' ./event/*.go
   find . -name '*.go' -and -not -regex '\./vendor/.*' \| xargs gofmt -w -r 'event.Subscription -> *event.TypeMuxSubscription'
2017-01-25 16:25:57 +01:00
Felix Lange
35a7dcb162 all: gofmt -w -s 2017-01-06 15:52:03 +01:00
Jeffrey Wilcke
7c1f74713e event: fixed subscribtions to stopped event mux
This fixes an issue where the following would lead to a panic due to a
channel being closed twice:

* Start mux
* Stop mux
* Sub to mux
* Unsub

This is fixed by setting the subscriptions status to closed resulting in
the Unsubscribe to ignore the request when called.
2016-05-12 20:38:09 +02:00
Péter Szilágyi
8e2bf42c46 event/filter: fix data race in the test 2015-11-05 16:55:53 +02:00
Péter Szilágyi
402fd6e8c6 core, eth, event, miner, xeth: fix event post / subscription race 2015-10-12 16:22:03 +03:00
Jeffrey Wilcke
f7a71996fb core, event/filter, xeth: refactored filter system
Moved the filtering system from `event` to `eth/filters` package and
removed the `core.Filter` object. The `filters.Filter` object now
requires a `common.Database` rather than a `eth.Backend` and invokes the
`core.GetBlockByX` directly rather than thru a "manager".
2015-10-02 22:47:43 +02:00
Felix Lange
bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa all: update license headers to distiguish GPL/LGPL
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
bdae4fd573 all: add some godoc synopsis comments 2015-07-07 14:12:45 +02:00
Felix Lange
ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
Péter Szilágyi
4541c22964 event/filter: hack around data race in the test 2015-06-09 21:33:39 +03:00
obscuren
7e160a677d xeth, core, event/filter, rpc: new block and transaction filters 2015-05-07 14:44:32 +02:00
obscuren
09147a50ed Improved tx pool to ignore invalid transactions
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
2015-04-08 00:31:23 +02:00
obscuren
0330077d76 moved state and vm to core 2015-03-23 16:59:09 +01:00
Taylor Gerring
28e1971272 Merge branch 'rpcxeth' into rpcfrontier
Conflicts:
	rpc/api.go
2015-03-20 15:25:43 +01:00
obscuren
55fdf3e462 Listen to tx pre event and trigger 'pending' 2015-03-20 12:07:06 +01:00
Taylor Gerring
6c04c19eb4 Reorg filter logic to XEth 2015-03-19 22:58:07 -04:00
obscuren
14a2f42f37 fixed chain event. Closes #529 2015-03-19 16:19:54 +01:00
obscuren
7c510109cd skipping test 2015-02-23 20:27:00 +01:00
obscuren
75625801f5 fixed merge 2015-02-20 15:18:07 +01:00
obscuren
7fc9b5b3f9 Changed to ChainEvent and fixed a nil pointer in transact 2015-02-17 22:20:47 +01:00
obscuren
44eafb15e0 Renamed filter 2015-02-07 17:03:12 +01:00
obscuren
c64852dbcc pending / chain event 2015-02-05 11:55:03 -08:00
obscuren
65158d39b0 Filtering 2015-02-04 15:05:47 -08:00
obscuren
f3e78c8f3c reworking messages => log 2015-01-28 10:23:18 +01:00
obscuren
34689cb3f3 Added manual triggering of filters 2015-01-12 20:36:45 +01:00
obscuren
35fe4313d5 pre-pow 2015-01-12 10:19:27 +01:00
obscuren
e3da85faed Implemented filter for ws + fixes
* proper 0xhex
* filters fixed
* start of filter manager
* accounts for ws. Closes #246
2015-01-10 00:51:56 +01:00
obscuren
52b54631a4 Whisper watches fixes 2014-12-16 19:55:57 +01:00
obscuren
cdb2ebbdfa Added old filter. Needs some refactoring 2014-12-15 12:17:33 +01:00
obscuren
ed1538248f Moved filter to events 2014-12-12 22:19:39 +01:00
obscuren
14e2e488fd Added chain tests & minor fixes
* Fork tests (equal and larger chains)
* `chain.link` fields are now exported
* moved debug function from state to dump.go
2014-11-19 12:25:52 +01:00
Taylor Gerring
2a5af8fac7 enable go vet 2014-11-17 10:40:40 -06:00
Felix Lange
fa84e50ddb event: panic for duplicate type 2014-10-16 18:59:28 +02:00
Felix Lange
6906904896 event: make TypeMux zero value ready to use 2014-10-16 18:50:48 +02:00
Felix Lange
10bbf265b2 event: make Unsubscribe idempotent 2014-10-16 18:50:48 +02:00
Felix Lange
dac4a8f113 event: add some documentation 2014-10-16 18:50:48 +02:00
Felix Lange
f5b8775bed event: new package for event multiplexer 2014-10-16 18:14:35 +02:00