remove reactor code from ethutil
use ethreact.Event and ethreact.ReactorEngine
ethreact
- consistent renaming
- React -> Event
- ReactorEvent -> EventHandler
- NewReactorEngine -> New
- async ReactorEngine main loop with select on main eventChannel and quit channel
- ReactorEngine main loop control with Start() Stop() Flush()
- ReactorEngine.dispatch
- use sync.RWMutex
- delete eventHandler if subscribed channels go to 0
Merge branch 'develop' of github.com:ethereum/eth-go into feature/ethutil-refactor
Merge branch 'develop' of github.com:ethereum/eth-go into feature/ethutil-refactor
logger fix
- introduce quit, drained, shutdown channels
- mainLoop falls through reading message channel to drained state, and waits is blocked in default branch until any message is sent
- Flush() waits for <-drained
- Stop() pushes quit and nodges mainloop out of blocking drained state
- package-global mutex
- Reset()
- clear tests
fix reactor engine main loop blocked to wait if drained
Merge pull request #33 from ethersphere/feature/ethutil-refactor

ethreact - Feature/ethutil refactor