OSDN Git Service

move connection to it's folder
[bytom/bytom.git] / p2p / base_reactor.go
index 66b3cf1..7d0f28d 100644 (file)
@@ -2,8 +2,11 @@ package p2p
 
 import (
        cmn "github.com/tendermint/tmlibs/common"
+
+       "github.com/bytom/p2p/connection"
 )
 
+//Reactor is responsible for handling incoming messages of one or more `Channels`
 type Reactor interface {
        cmn.Service // Start, Stop
 
@@ -11,7 +14,7 @@ type Reactor interface {
        SetSwitch(*Switch)
 
        // GetChannels returns the list of channel descriptors.
-       GetChannels() []*ChannelDescriptor
+       GetChannels() []*connection.ChannelDescriptor
 
        // AddPeer is called by the switch when a new peer is added.
        AddPeer(peer *Peer) error
@@ -29,13 +32,13 @@ type Reactor interface {
        Receive(chID byte, peer *Peer, msgBytes []byte)
 }
 
-//--------------------------------------
-
+//BaseReactor base service of a reactor
 type BaseReactor struct {
        cmn.BaseService // Provides Start, Stop, .Quit
        Switch          *Switch
 }
 
+//NewBaseReactor create new base Reactor
 func NewBaseReactor(name string, impl Reactor) *BaseReactor {
        return &BaseReactor{
                BaseService: *cmn.NewBaseService(nil, name, impl),
@@ -43,10 +46,19 @@ func NewBaseReactor(name string, impl Reactor) *BaseReactor {
        }
 }
 
+//SetSwitch setting a switch for reactor
 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{})      {}
+
+//GetChannels returns the list of channel descriptors
+func (*BaseReactor) GetChannels() []*connection.ChannelDescriptor { return nil }
+
+//AddPeer is called by the switch when a new peer is added
+func (*BaseReactor) AddPeer(peer *Peer) {}
+
+//RemovePeer is called by the switch when the peer is stopped (due to error or other reason)
+func (*BaseReactor) RemovePeer(peer *Peer, reason interface{}) {}
+
+//Receive is called when msgBytes is received from peer
 func (*BaseReactor) Receive(chID byte, peer *Peer, msgBytes []byte) {}