Documentation
¶
Index ¶
- Constants
- Variables
- func CalcFileSHA256(f *os.File) (string, error)
- func CalcPathSHA256(fpath string) (string, error)
- func CalcSHA256(data []byte) (string, error)
- func GetExternalIp() (string, error)
- func GetLocalIp() ([]string, error)
- func IsIPv4(ipAddr string) bool
- func IsIPv6(ipAddr string) bool
- func NewProtocol() *protocols
- func ParseMultiaddrs(domain string) ([]string, error)
- type AggrProofProtocol
- func (e AggrProofProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e AggrProofProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e AggrProofProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e AggrProofProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p AggrProofProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e AggrProofProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e AggrProofProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e AggrProofProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type CustomDataTagProtocol
- func (e CustomDataTagProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e CustomDataTagProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e CustomDataTagProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e CustomDataTagProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p CustomDataTagProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e CustomDataTagProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e CustomDataTagProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e CustomDataTagProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type DataDirs
- type DiscoveredPeer
- type FileProtocol
- func (e FileProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e FileProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e FileProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e FileProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p FileProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e FileProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e FileProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e FileProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type IdleDataTagProtocol
- func (e IdleDataTagProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e IdleDataTagProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e IdleDataTagProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e IdleDataTagProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p IdleDataTagProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e IdleDataTagProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e IdleDataTagProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e IdleDataTagProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type Node
- func (n *Node) AddMultiaddrToPeerstore(multiaddr string, t time.Duration) (peer.ID, error)
- func (n *Node) Addrs() []ma.Multiaddr
- func (e Node) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (n *Node) Close() error
- func (n *Node) ConnManager() connmgr.ConnManager
- func (n *Node) Connect(ctx context.Context, pi peer.AddrInfo) error
- func (n *Node) DHTFindPeer(peerid string) (peer.AddrInfo, error)
- func (n *Node) EventBus() event.Bus
- func (e Node) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (n *Node) GetBootstraps() []string
- func (n *Node) GetCtxCancelFromRoot() context.Context
- func (n *Node) GetCtxQueryFromCtxCancel() context.Context
- func (n *Node) GetCtxRoot() context.Context
- func (n *Node) GetDhtProtocolVersion() string
- func (n *Node) GetDirs() DataDirs
- func (n *Node) GetDiscoveredPeers() <-chan *routing.QueryEvent
- func (n *Node) GetIdleDataCh() <-chan string
- func (n *Node) GetIdleFileTee() string
- func (n *Node) GetIdleTagCh() <-chan string
- func (n *Node) GetPeerPublickey() []byte
- func (n *Node) GetProtocolPrefix() string
- func (n *Node) GetProtocolVersion() string
- func (n *Node) GetRendezvousVersion() string
- func (n *Node) GetServiceFileTee() string
- func (n *Node) GetServiceTagCh() <-chan string
- func (n *Node) ID() peer.ID
- func (e Node) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (n *Node) Mux() protocol.Switch
- func (n *Node) Network() network.Network
- func (n *Node) NewAggrProofProtocol() *AggrProofProtocol
- func (n *Node) NewCustomDataTagProtocol() *CustomDataTagProtocol
- func (n *Node) NewFileProtocol() *FileProtocol
- func (n *Node) NewIdleDataTagProtocol() *IdleDataTagProtocol
- func (n *Node) NewMessageData(messageId string, gossip bool) *pb.MessageData
- func (n *Node) NewPeerStream(id peer.ID, p protocol.ID) (network.Stream, error)
- func (n *Node) NewPushTagProtocol() *PushTagProtocol
- func (n *Node) NewReadFileProtocol() *ReadFileProtocol
- func (n *Node) NewStream(ctx context.Context, p peer.ID, pids ...protocol.ID) (network.Stream, error)
- func (n *Node) NewWriteFileProtocol() *WriteFileProtocol
- func (n *Node) Peerstore() peerstore.Peerstore
- func (n *Node) PrivatekeyPath() string
- func (e Node) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (n *Node) RemoveStreamHandler(pid protocol.ID)
- func (n *Node) RouteTableFindPeers(limit int) (<-chan peer.AddrInfo, error)
- func (n *Node) SendFile(ctx context.Context, id peer.ID, path string) error
- func (n *Node) SendMsgToStream(s network.Stream, msg []byte) error
- func (n *Node) SendProtoMessage(id peer.ID, p protocol.ID, data proto.Message) error
- func (n *Node) SetBootstraps(bootstrap []string)
- func (n *Node) SetIdleFileTee(peerid string)
- func (p Node) SetProtocolPrefix(protocolPrefix string)
- func (n *Node) SetServiceFileTee(peerid string)
- func (n *Node) SetStreamHandler(pid protocol.ID, handler network.StreamHandler)
- func (n *Node) SetStreamHandlerMatch(pid protocol.ID, m func(protocol.ID) bool, handler network.StreamHandler)
- func (n *Node) StarFileTransferProtocol()
- func (e Node) TagPushReq(peerid peer.ID) (uint32, error)
- func (e Node) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (n *Node) Workspace() string
- func (e Node) WriteFileAction(id peer.ID, roothash, path string) error
- type P2P
- type ProofFileType
- type Protocol
- type PushTagProtocol
- func (e PushTagProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e PushTagProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e PushTagProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e PushTagProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p PushTagProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e PushTagProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e PushTagProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e PushTagProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type ReadFileProtocol
- func (e ReadFileProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e ReadFileProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e ReadFileProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e ReadFileProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p ReadFileProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e ReadFileProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e ReadFileProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e ReadFileProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type WriteFileProtocol
- func (e WriteFileProtocol) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error)
- func (e WriteFileProtocol) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error)
- func (e WriteFileProtocol) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error)
- func (e WriteFileProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p WriteFileProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e WriteFileProtocol) TagPushReq(peerid peer.ID) (uint32, error)
- func (e WriteFileProtocol) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error)
- func (e WriteFileProtocol) WriteFileAction(id peer.ID, roothash, path string) error
Constants ¶
const ( SIZE_1KiB = 1024 SIZE_1MiB = 1024 * SIZE_1KiB SIZE_1GiB = 1024 * SIZE_1MiB )
byte size
const ( FileType_ServiceFile uint32 = iota FileType_IdleFile FileType_TagFile FileType_MusFile FileType_UsFile FileType_NamesFile )
const ( // FileDataDirectionry = "file" TmpDataDirectionry = "tmp" IdleDataDirectionry = "space" IdleTagDirectionry = "itag" ServiceTagDirectionry = "stag" ProofDirectionry = "proof" // IdleProofFile = "iproof" ServiceProofFile = "sproof" )
const ( ERR_RespTimeOut = "peer response timeout" ERR_RespFailure = "peer response failure" ERR_RespInvalidData = "peer response invalid data" )
const AggrProof_PROTOCOL = "/apv/1"
const AllIpAddress = "0.0.0.0"
const BufferSize = 64 * SIZE_1KiB
const CustomDataTag_Protocol = "/cdtg/1"
const DataShards = 2
const DirMode = 0644
const FILE_PROTOCOL = "/kft/1"
const FileProtocolBufSize = 2 * 1024 * 1024
const FileProtocolMsgBuf = 16 * 1024 * 1024
const FragmentSize = 8 * SIZE_1MiB
const IdleDataTag_Protocol = "/idtg/1"
const IdleProtocolMsgBuf = 1024
const LocalAddress = "127.0.0.1"
const MaxCustomDataLength = 255
const MaxFileNameLength = 255
const MusProtocolMsgBuf = 32
const P2PReadReqRespTime = time.Duration(time.Second * 30)
const P2PResponseFailed uint32 = 400
const P2PResponseFinish uint32 = 210
const P2PResponseOK uint32 = 200
const P2PWriteReqRespTime = time.Duration(time.Second * 30)
const ParShards = 1
const PushTag_Protocol = "/tagpush/1"
const SegmentSize = 16 * SIZE_1MiB
const TagProtocolMsgBuf = 1024 * 1024
Variables ¶
var ( FileNameLengthErr = fmt.Errorf("filename length exceeds %d", MaxFileNameLength) FileNameEmptyErr = fmt.Errorf("filename is empty") CustomDataLengthErr = fmt.Errorf("custom data length exceeds %d", MaxCustomDataLength) )
Functions ¶
func CalcFileSHA256 ¶ added in v0.0.24
CalcFileSHA256 is used to calculate the sha256 value of the file type.
func CalcPathSHA256 ¶ added in v0.0.24
CalcPathSHA256 is used to calculate the sha256 value of a file with a given path.
func CalcSHA256 ¶ added in v0.0.24
CalcSHA256 is used to calculate the sha256 value of the data.
func NewProtocol ¶ added in v0.0.24
func NewProtocol() *protocols
func ParseMultiaddrs ¶ added in v0.0.37
ParseMultiaddrs
Types ¶
type AggrProofProtocol ¶ added in v0.0.24
type AggrProofProtocol struct {
*Node
}
func (AggrProofProtocol) AggrProofReq ¶ added in v0.0.24
func (AggrProofProtocol) ReadFileAction ¶ added in v0.0.24
func (AggrProofProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p AggrProofProtocol) SetProtocolPrefix(protocolPrefix string)
func (AggrProofProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type CustomDataTagProtocol ¶ added in v0.0.24
type CustomDataTagProtocol struct {
*Node
}
func (CustomDataTagProtocol) AggrProofReq ¶ added in v0.0.25
func (CustomDataTagProtocol) ReadFileAction ¶ added in v0.0.24
func (CustomDataTagProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p CustomDataTagProtocol) SetProtocolPrefix(protocolPrefix string)
func (CustomDataTagProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type DiscoveredPeer ¶ added in v0.0.24
type FileProtocol ¶ added in v0.0.24
type FileProtocol struct {
*Node
}
func (FileProtocol) AggrProofReq ¶ added in v0.0.25
func (FileProtocol) ReadFileAction ¶ added in v0.0.24
func (FileProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p FileProtocol) SetProtocolPrefix(protocolPrefix string)
func (FileProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type IdleDataTagProtocol ¶ added in v0.0.24
type IdleDataTagProtocol struct {
*Node
}
func (IdleDataTagProtocol) AggrProofReq ¶ added in v0.0.25
func (IdleDataTagProtocol) ReadFileAction ¶ added in v0.0.24
func (IdleDataTagProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p IdleDataTagProtocol) SetProtocolPrefix(protocolPrefix string)
func (IdleDataTagProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type Node ¶
type Node struct { *dht.IpfsDHT *drouting.RoutingDiscovery // contains filtered or unexported fields }
Node type - Implementation of a P2P Host
func (*Node) AddMultiaddrToPeerstore ¶ added in v0.0.32
func (Node) AggrProofReq ¶ added in v0.0.25
func (*Node) ConnManager ¶
func (n *Node) ConnManager() connmgr.ConnManager
ConnManager returns this hosts connection manager
func (*Node) Connect ¶
Connect ensures there is a connection between this host and the peer with given peer.ID. Connect will absorb the addresses in pi into its internal peerstore. If there is not an active connection, Connect will issue a h.Network.Dial, and block until a connection is open, or an error is returned. // TODO: Relay + NAT.
func (*Node) DHTFindPeer ¶ added in v0.1.0
DHTFindPeer searches for a peer with given ID.
func (*Node) GetBootstraps ¶ added in v0.0.24
func (*Node) GetCtxCancelFromRoot ¶ added in v0.1.1
func (*Node) GetCtxQueryFromCtxCancel ¶ added in v0.1.1
func (*Node) GetCtxRoot ¶ added in v0.1.1
func (*Node) GetDhtProtocolVersion ¶ added in v0.0.24
func (*Node) GetDiscoveredPeers ¶ added in v0.1.1
func (n *Node) GetDiscoveredPeers() <-chan *routing.QueryEvent
GetDiscoveredPeers
func (*Node) GetIdleDataCh ¶ added in v0.0.24
func (*Node) GetIdleFileTee ¶ added in v0.0.15
func (*Node) GetIdleTagCh ¶ added in v0.0.24
func (*Node) GetPeerPublickey ¶ added in v0.0.25
func (*Node) GetProtocolPrefix ¶ added in v0.0.37
func (*Node) GetProtocolVersion ¶ added in v0.0.24
func (*Node) GetRendezvousVersion ¶ added in v0.1.0
func (*Node) GetServiceFileTee ¶ added in v0.0.15
func (*Node) GetServiceTagCh ¶ added in v0.0.24
func (*Node) NewAggrProofProtocol ¶ added in v0.0.24
func (n *Node) NewAggrProofProtocol() *AggrProofProtocol
func (*Node) NewCustomDataTagProtocol ¶ added in v0.0.24
func (n *Node) NewCustomDataTagProtocol() *CustomDataTagProtocol
func (*Node) NewFileProtocol ¶ added in v0.0.24
func (n *Node) NewFileProtocol() *FileProtocol
func (*Node) NewIdleDataTagProtocol ¶ added in v0.0.24
func (n *Node) NewIdleDataTagProtocol() *IdleDataTagProtocol
func (*Node) NewMessageData ¶
func (n *Node) NewMessageData(messageId string, gossip bool) *pb.MessageData
helper method - generate message data shared between all node's p2p protocols messageId: unique for requests, copied from request for responses
func (*Node) NewPeerStream ¶ added in v0.0.9
NewPeerStream
func (*Node) NewPushTagProtocol ¶ added in v0.0.24
func (n *Node) NewPushTagProtocol() *PushTagProtocol
func (*Node) NewReadFileProtocol ¶ added in v0.0.24
func (n *Node) NewReadFileProtocol() *ReadFileProtocol
func (*Node) NewStream ¶
func (n *Node) NewStream(ctx context.Context, p peer.ID, pids ...protocol.ID) (network.Stream, error)
NewStream opens a new stream to given peer p, and writes a p2p/protocol header with given ProtocolID. If there is no connection to p, attempts to create one. If ProtocolID is "", writes no header. (Threadsafe)
func (*Node) NewWriteFileProtocol ¶ added in v0.0.24
func (n *Node) NewWriteFileProtocol() *WriteFileProtocol
func (*Node) PrivatekeyPath ¶
func (Node) ReadFileAction ¶ added in v0.0.24
func (*Node) RemoveStreamHandler ¶
RemoveStreamHandler removes a handler on the mux that was set by SetStreamHandler
func (*Node) RouteTableFindPeers ¶ added in v0.1.0
RouteTableFindPeers
func (*Node) SendMsgToStream ¶ added in v0.0.9
SendMsgToStream
func (*Node) SendProtoMessage ¶
helper method - writes a protobuf go data object to a network stream data: reference of protobuf go data object to send (not the object itself) s: network stream to write the data to
func (*Node) SetBootstraps ¶ added in v0.0.24
func (*Node) SetIdleFileTee ¶ added in v0.0.15
func (Node) SetProtocolPrefix ¶ added in v0.0.37
func (p Node) SetProtocolPrefix(protocolPrefix string)
func (*Node) SetServiceFileTee ¶ added in v0.0.15
func (*Node) SetStreamHandler ¶
func (n *Node) SetStreamHandler(pid protocol.ID, handler network.StreamHandler)
SetStreamHandler sets the protocol handler on the Host's Mux. This is equivalent to: host.Mux().SetHandler(proto, handler) (Threadsafe)
func (*Node) SetStreamHandlerMatch ¶
func (n *Node) SetStreamHandlerMatch(pid protocol.ID, m func(protocol.ID) bool, handler network.StreamHandler)
SetStreamHandlerMatch sets the protocol handler on the Host's Mux using a matching function for protocol selection.
func (*Node) StarFileTransferProtocol ¶ added in v0.0.9
func (n *Node) StarFileTransferProtocol()
func (Node) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type P2P ¶
type P2P interface { // Lib-p2p host host.Host // Message protocol Protocol // GetCtxRoot returns the root context of the host GetCtxRoot() context.Context // GetCtxCancelFromRoot returns the cancel context from root context GetCtxCancelFromRoot() context.Context // GetCtxQueryFromCtxCancel returns tne query context from cancel context GetCtxQueryFromCtxCancel() context.Context // PrivatekeyPath returns the key file location PrivatekeyPath() string // Workspace returns to the working directory Workspace() string // AddMultiaddrToPeerstore adds multiaddr to the host's peerstore AddMultiaddrToPeerstore(multiaddr string, t time.Duration) (peer.ID, error) // GetPeerPublickey returns the host's public key GetPeerPublickey() []byte // GetProtocolVersion returns the ProtocolVersion of the host GetProtocolVersion() string // GetDhtProtocolVersion returns the host's DHT ProtocolVersion GetDhtProtocolVersion() string // GetRendezvousVersion returns the rendezvous protocol GetRendezvousVersion() string // GetProtocolPrefix returns protocols prefix GetProtocolPrefix() string // GetDirs returns the data directory structure of the host GetDirs() DataDirs // GetBootstraps returns a list of host bootstraps GetBootstraps() []string // SetBootstraps updates the host's bootstrap list SetBootstraps(bootstrap []string) // FindPeer searches for a peer with given ID. DHTFindPeer(peerid string) (peer.AddrInfo, error) // Close p2p Close() error // GetDiscoveredPeers() <-chan *routing.QueryEvent // RouteTableFindPeers RouteTableFindPeers(limit int) (<-chan peer.AddrInfo, error) // GetIdleDataCh returns the idle data channel received by the host GetIdleDataCh() <-chan string // GetIdleTagCh returns the tag channel of the idle data received by the host GetIdleTagCh() <-chan string // GetServiceTagCh returns the tag channel of the service data received by the host GetServiceTagCh() <-chan string }
P2P is an object participating in a p2p network, which implements protocols or provides services. It handles requests like a Server, and issues requests like a Client. It is called Host because it is both Server and Client (and Peer may be confusing). It references libp2p: https://github.com/libp2p/go-libp2p
func NewBasicNode ¶
func NewBasicNode( ctx context.Context, port int, workspace string, privatekeypath string, bootstrap []string, cmgr connmgr.ConnManager, protocolPrefix string, publicip string, ) (P2P, error)
NewBasicNode constructs a new *Node
multiaddr: listen addresses of p2p host workspace: service working directory privatekeypath: private key file If it's empty, automatically created in the program working directory If it's a directory, it will be created in the specified directory
type ProofFileType ¶ added in v0.0.24
type Protocol ¶ added in v0.0.24
type Protocol interface { WriteFileAction(id peer.ID, roothash, path string) error ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error TagPushReq(peerid peer.ID) (uint32, error) IdleReq(peerId peer.ID, filesize, blocknum uint64, pubkey, sign []byte) (uint32, error) TagReq(peerId peer.ID, filename, customdata string, blocknum uint64) (uint32, error) FileReq(peerId peer.ID, filehash string, filetype pb.FileType, fpath string) (uint32, error) AggrProofReq(peerId peer.ID, ihash, shash []byte, qslice []*pb.Qslice, puk, sign []byte) (uint32, error) }
type PushTagProtocol ¶ added in v0.0.24
type PushTagProtocol struct {
*Node
}
func (PushTagProtocol) AggrProofReq ¶ added in v0.0.25
func (PushTagProtocol) ReadFileAction ¶ added in v0.0.24
func (PushTagProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p PushTagProtocol) SetProtocolPrefix(protocolPrefix string)
func (PushTagProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type ReadFileProtocol ¶ added in v0.0.24
type ReadFileProtocol struct { *Node // local host *sync.Mutex // contains filtered or unexported fields }
func (ReadFileProtocol) AggrProofReq ¶ added in v0.0.25
func (ReadFileProtocol) ReadFileAction ¶ added in v0.0.24
func (ReadFileProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p ReadFileProtocol) SetProtocolPrefix(protocolPrefix string)
func (ReadFileProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler
type WriteFileProtocol ¶ added in v0.0.24
func (WriteFileProtocol) AggrProofReq ¶ added in v0.0.25
func (WriteFileProtocol) ReadFileAction ¶ added in v0.0.24
func (WriteFileProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p WriteFileProtocol) SetProtocolPrefix(protocolPrefix string)
func (WriteFileProtocol) TagPushReq ¶ added in v0.0.24
remote peer requests handler