github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/p2pserver/net/protocol/server.go (about)

     1  package p2p
     2  
     3  import (
     4  	"crypto/ecdsa"
     5  
     6  	comm "github.com/sixexorg/magnetic-ring/common"
     7  	"github.com/sixexorg/magnetic-ring/p2pserver/common"
     8  	"github.com/sixexorg/magnetic-ring/p2pserver/discover"
     9  	"github.com/sixexorg/magnetic-ring/p2pserver/peer"
    10  )
    11  
    12  //P2P represent the net interface of p2p package
    13  type P2P interface {
    14  	Start()
    15  	Halt()
    16  	Connect(addr string, isConsensus bool, node *discover.Node, bANode bool, orgids ...comm.Address) error
    17  	GetID() uint64
    18  	GetVersion() uint32
    19  	GetSyncPort() uint16
    20  	GetConsPort() uint16
    21  	GetHttpInfoPort() uint16
    22  	GetRelay() bool
    23  	GetHeight() uint64
    24  	GetTime() int64
    25  	GetServices() uint64
    26  	GetNeighbors() []*peer.Peer
    27  	GetNeighborAddrs() []common.PeerAddr
    28  	GetConnectionCnt() uint32
    29  	GetNp() *peer.NbrPeers
    30  	GetPeer(uint64) *peer.Peer
    31  	SetHeight(uint64)
    32  	IsPeerEstablished(p *peer.Peer) bool
    33  	Send(p *peer.Peer, msg common.Message, isConsensus bool) error
    34  	GetMsgChan(isConsensus bool) chan *common.MsgPayload
    35  	GetPeerFromAddr(addr string) *peer.Peer
    36  	AddOutConnectingList(addr string) (added bool)
    37  	GetOutConnRecordLen() int
    38  	RemoveFromConnectingList(addr string)
    39  	RemoveFromOutConnRecord(addr string)
    40  	RemoveFromInConnRecord(addr string)
    41  	AddPeerSyncAddress(addr string, p *peer.Peer)
    42  	AddPeerConsAddress(addr string, p *peer.Peer)
    43  	GetOutConnectingListLen() (count uint)
    44  	RemovePeerSyncAddress(addr string)
    45  	RemovePeerConsAddress(addr string)
    46  	AddNbrNode(*peer.Peer)
    47  	DelNbrNode(id uint64) (*peer.Peer, bool)
    48  	NodeEstablished(uint64) bool
    49  	Xmit(msg common.Message, isCons bool)
    50  	SetOwnAddress(addr string)
    51  	IsAddrFromConnecting(addr string) bool
    52  	// org
    53  	HaltOrdinaryPeerID(id uint64)
    54  	HaltOrgPeerID(peerid uint64, orgid comm.Address)
    55  	SetOwnOrgHeight(height uint64, id comm.Address)
    56  	GetOwnOrgHeight(id comm.Address) uint64
    57  	PeerAddOrg(id comm.Address)
    58  	PeerDelOrg(id comm.Address)
    59  	PeerGetOrg() []comm.Address
    60  	PeerGetRealOrg() []comm.Address
    61  	RemoteDelOrg(id comm.Address) []uint64
    62  	BHaveOrgs() bool
    63  	BHaveOrgsExceptId(id comm.Address) bool
    64  	BHaveOrgsId(id comm.Address) bool
    65  	SyncHandleSentDisconnectToBootNode(remoteid uint64, bstellar bool)
    66  	SyncHandleBANode() bool
    67  	//
    68  	SetPrivateKey(nodeKey *ecdsa.PrivateKey, node *discover.Table)
    69  	SetBootNodes(nodes []*discover.Node)
    70  	GetNode() *discover.Node
    71  }