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 }