aboutsummaryrefslogtreecommitdiffstats
path: root/event
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-02-09 07:06:24 +0800
committerobscuren <geffobscura@gmail.com>2015-02-09 07:06:24 +0800
commitb22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e (patch)
treeae9f28a4c89ba70b4ee2091aa1b6a564f7a05f48 /event
parentac695387075fdd9214ef8de71ac6897136a50ce8 (diff)
parent16a04e64f23b7a81018c7fcf7626ca6965d9a809 (diff)
downloadgo-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.tar
go-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.tar.gz
go-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.tar.bz2
go-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.tar.lz
go-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.tar.xz
go-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.tar.zst
go-tangerine-b22f0f2ef51bdb769259b3cf7d9ee0e8e5b0635e.zip
merged
Diffstat (limited to 'event')
-rw-r--r--event/filter/eth_filter.go (renamed from event/filter/old_filter.go)14
1 files changed, 12 insertions, 2 deletions
diff --git a/event/filter/old_filter.go b/event/filter/eth_filter.go
index 4c01572db..295fcfbbf 100644
--- a/event/filter/old_filter.go
+++ b/event/filter/eth_filter.go
@@ -1,6 +1,7 @@
-// XXX This is the old filter system specifically for messages. This is till in used and could use some refactoring
package filter
+// TODO make use of the generic filtering system
+
import (
"sync"
@@ -59,7 +60,7 @@ func (self *FilterManager) GetFilter(id int) *core.Filter {
func (self *FilterManager) filterLoop() {
// Subscribe to events
- events := self.eventMux.Subscribe(core.NewBlockEvent{}, state.Logs(nil))
+ events := self.eventMux.Subscribe(core.PendingBlockEvent{}, core.NewBlockEvent{}, state.Logs(nil))
out:
for {
@@ -77,6 +78,15 @@ out:
}
self.filterMu.RUnlock()
+ case core.PendingBlockEvent:
+ self.filterMu.RLock()
+ for _, filter := range self.filters {
+ if filter.PendingCallback != nil {
+ filter.PendingCallback(event.Block)
+ }
+ }
+ self.filterMu.RUnlock()
+
case state.Logs:
self.filterMu.RLock()
for _, filter := range self.filters {