Documentation ¶
Index ¶
- Constants
- Variables
- func NewConfig(bookPath, configPath, input, laddr, output string, priv crypto.PrivKeyEd25519, ...) cfg.Config
- func ProtocolAndAddress(laddr string) (string, string)
- func ReadConfig(configPath string) cfg.Config
- type BitArray
- type DataMessage
- type DataReactor
- func (reactor *DataReactor) AddPeer(peer *gop2p.Peer)
- func (reactor *DataReactor) GetChannels() []*gop2p.ChannelDescriptor
- func (reactor *DataReactor) GetOutputPath() string
- func (reactor *DataReactor) GetParts() *PartSet
- func (reactor *DataReactor) GetPartsHeader() PartSetHeader
- func (reactor *DataReactor) OnStart() error
- func (reactor *DataReactor) OnStop()
- func (reactor *DataReactor) Receive(chID byte, src *gop2p.Peer, msgBytes []byte)
- func (reactor *DataReactor) RemovePeer(peer *gop2p.Peer, reason interface{})
- func (reactor *DataReactor) SetOutputPath(path string)
- func (reactor *DataReactor) SetParts(parts *PartSet) bool
- func (reactor *DataReactor) SetPartsHeader(header PartSetHeader) bool
- type HasPartMessage
- type HasPartsMessage
- type Node
- func (nd *Node) AddListener(lis gop2p.Listener)
- func (nd *Node) DataReactor() *DataReactor
- func (nd *Node) DialSeeds(seeds []string)
- func (nd *Node) NodeInfo() *gop2p.NodeInfo
- func (nd *Node) PexReactor() *gop2p.PEXReactor
- func (nd *Node) ShutdownPeers()
- func (nd *Node) Start() error
- func (nd *Node) Stop()
- func (nd *Node) Switch() *gop2p.Switch
- type Part
- type PartMessage
- type PartSet
- func (partSet *PartSet) AddPart(p *Part) (bool, error)
- func (partSet *PartSet) Bits() BitArray
- func (partSet *PartSet) Count() int
- func (partSet *PartSet) GetPart(idx int) *Part
- func (partSet *PartSet) GetReader() io.Reader
- func (partSet *PartSet) HasHeader(header PartSetHeader) bool
- func (partSet *PartSet) Hash() []byte
- func (partSet *PartSet) HashesTo(hash []byte) bool
- func (partSet *PartSet) Header() (header PartSetHeader)
- func (partSet *PartSet) IsComplete() bool
- type PartSetHeader
- type PartSetReader
- type PartsHeaderMessage
- type PeerState
- type ShutdownMessage
Constants ¶
View Source
const ( DEFAULT_PROTO = "tcp" NETWORK = "SPACEMINT" PART_SIZE = 1024 * 16 SKIP_UPNP = false VERSION = "0.0.0" )
View Source
const ( // Channels DATA_CHANNEL byte = 0x20 PEER_STATE_KEY = "peer_state" MAX_MESSAGE_SIZE = 1024 * 100 // 100KB BROADCAST_SLEEP_DURATION = 2 * time.Second GOSSIP_SLEEP_DURATION = 100 * time.Millisecond )
View Source
const ( // PEX PARTS_HEADER byte = 0x01 HAS_PARTS byte = 0x02 HAS_PART byte = 0x03 PART byte = 0x04 SHUTDOWN byte = 0x05 )
Messages
Variables ¶
View Source
var ( ErrPartSetUnexpectedIndex = Error("Error part set unexpected index") ErrPartSetInvalidProof = Error("Error part set invalid roof") )
Functions ¶
func ProtocolAndAddress ¶
func ReadConfig ¶
Types ¶
type DataMessage ¶
type DataMessage interface{}
func DecodeMessage ¶
func DecodeMessage(bz []byte) (byte, DataMessage, error)
type DataReactor ¶
type DataReactor struct { gop2p.BaseReactor // contains filtered or unexported fields }
func NewDataReactor ¶
func NewDataReactor() *DataReactor
func (*DataReactor) AddPeer ¶
func (reactor *DataReactor) AddPeer(peer *gop2p.Peer)
func (*DataReactor) GetChannels ¶
func (reactor *DataReactor) GetChannels() []*gop2p.ChannelDescriptor
func (*DataReactor) GetOutputPath ¶
func (reactor *DataReactor) GetOutputPath() string
func (*DataReactor) GetParts ¶
func (reactor *DataReactor) GetParts() *PartSet
func (*DataReactor) GetPartsHeader ¶
func (reactor *DataReactor) GetPartsHeader() PartSetHeader
func (*DataReactor) OnStart ¶
func (reactor *DataReactor) OnStart() error
func (*DataReactor) OnStop ¶
func (reactor *DataReactor) OnStop()
func (*DataReactor) Receive ¶
func (reactor *DataReactor) Receive(chID byte, src *gop2p.Peer, msgBytes []byte)
func (*DataReactor) RemovePeer ¶
func (reactor *DataReactor) RemovePeer(peer *gop2p.Peer, reason interface{})
func (*DataReactor) SetOutputPath ¶
func (reactor *DataReactor) SetOutputPath(path string)
func (*DataReactor) SetParts ¶
func (reactor *DataReactor) SetParts(parts *PartSet) bool
func (*DataReactor) SetPartsHeader ¶
func (reactor *DataReactor) SetPartsHeader(header PartSetHeader) bool
type HasPartMessage ¶
type HasPartMessage struct {
Idx int
}
type HasPartsMessage ¶
type HasPartsMessage struct {
HasParts BitArray
}
type Node ¶
type Node struct {
// contains filtered or unexported fields
}
func (*Node) AddListener ¶
func (*Node) DataReactor ¶
func (nd *Node) DataReactor() *DataReactor
func (*Node) PexReactor ¶
func (nd *Node) PexReactor() *gop2p.PEXReactor
func (*Node) ShutdownPeers ¶
func (nd *Node) ShutdownPeers()
type Part ¶
type PartMessage ¶
type PartMessage struct {
Part *Part
}
type PartSet ¶
type PartSet struct {
// contains filtered or unexported fields
}
func NewPartSetFromData ¶
func NewPartSetFromHeader ¶
func NewPartSetFromHeader(header PartSetHeader) *PartSet
func (*PartSet) HasHeader ¶
func (partSet *PartSet) HasHeader(header PartSetHeader) bool
func (*PartSet) Header ¶
func (partSet *PartSet) Header() (header PartSetHeader)
func (*PartSet) IsComplete ¶
type PartSetHeader ¶
func (PartSetHeader) Equals ¶
func (header PartSetHeader) Equals(other PartSetHeader) bool
func (PartSetHeader) IsZero ¶
func (header PartSetHeader) IsZero() bool
type PartSetReader ¶
type PartSetReader struct {
// contains filtered or unexported fields
}
func NewPartSetReader ¶
func NewPartSetReader(parts []*Part) *PartSetReader
type PartsHeaderMessage ¶
type PartsHeaderMessage struct {
Header PartSetHeader
}
type PeerState ¶
Peer State
func NewPeerState ¶
func (*PeerState) Disconnect ¶
func (*PeerState) GetHasParts ¶
func (*PeerState) SentMessage ¶
func (peerState *PeerState) SentMessage(msg DataMessage)
func (*PeerState) SetHasPart ¶
type ShutdownMessage ¶
type ShutdownMessage struct{}
Click to show internal directories.
Click to hide internal directories.