|
|
- package p2p
-
- import cmn "github.com/tendermint/tmlibs/common"
-
- type Reactor interface {
- cmn.Service // Start, Stop
-
- SetSwitch(*Switch)
- GetChannels() []*ChannelDescriptor
- AddPeer(peer Peer)
- RemovePeer(peer Peer, reason interface{})
- Receive(chID byte, peer Peer, msgBytes []byte) // CONTRACT: msgBytes are not nil
- }
-
- //--------------------------------------
-
- type BaseReactor struct {
- cmn.BaseService // Provides Start, Stop, .Quit
- Switch *Switch
- }
-
- func NewBaseReactor(name string, impl Reactor) *BaseReactor {
- return &BaseReactor{
- BaseService: *cmn.NewBaseService(nil, name, impl),
- Switch: nil,
- }
- }
-
- func (br *BaseReactor) SetSwitch(sw *Switch) {
- br.Switch = sw
- }
- func (_ *BaseReactor) GetChannels() []*ChannelDescriptor { return nil }
- func (_ *BaseReactor) AddPeer(peer Peer) {}
- func (_ *BaseReactor) RemovePeer(peer Peer, reason interface{}) {}
- func (_ *BaseReactor) Receive(chID byte, peer Peer, msgBytes []byte) {}
|