Versions in this module Expand all Collapse all v0 v0.4.3 Jul 25, 2019 Changes in this version + const BatchSize + const HashSize + var ErrEmptyBatch = errors.New("empty batch") + var SyncerSpec = &protocols.Spec + type API struct + func NewAPI(s *SlipStream) *API + type ChunkDelivery struct + Chunks []DeliveredChunk + LastIndex uint + Ruid uint + type DeliveredChunk struct + Addr storage.Address + Data []byte + type GetRange struct + BatchSize uint + From uint64 + Roundtrip bool + Ruid uint + Stream ID + To uint64 + type ID struct + Key string + Name string + func NewID(name string, key string) ID + func (s ID) String() string + type OfferedHashes struct + Hashes []byte + LastIndex uint + Ruid uint + type Peer struct + func NewPeer(peer *network.BzzPeer, i state.Store, providers map[string]StreamProvider) *Peer + func (p *Peer) HandleMsg(ctx context.Context, msg interface{}) error + func (p *Peer) Left() + type SlipStream struct + func NewSlipStream(intervalsStore state.Store, kad *network.Kademlia, providers ...StreamProvider) *SlipStream + func (s *SlipStream) APIs() []rpc.API + func (s *SlipStream) Protocols() []p2p.Protocol + func (s *SlipStream) Run(p *p2p.Peer, rw p2p.MsgReadWriter) error + func (s *SlipStream) Start(server *p2p.Server) error + func (s *SlipStream) Stop() error + type StreamDescriptor struct + Bounded bool + Cursor uint64 + Stream ID + type StreamInfoReq struct + Streams []ID + type StreamInfoRes struct + Streams []StreamDescriptor + type StreamInitBehavior int + const StreamAutostart + const StreamGetCursors + const StreamIdle + type StreamProvider interface + Boundedness func() bool + Cursor func(interface{}) (uint64, error) + EncodeKey func(interface{}) (string, error) + Get func(ctx context.Context, addr chunk.Address) ([]byte, error) + NeedData func(ctx context.Context, key []byte) (need bool, wait func(context.Context) error) + ParseKey func(string) (interface{}, error) + Put func(ctx context.Context, addr chunk.Address, data []byte) (exists bool, err error) + RunUpdateStreams func(p *Peer) + StreamBehavior func() StreamInitBehavior + StreamName func() string + Subscribe func(ctx context.Context, key interface{}, from, to uint64) (<-chan chunk.Descriptor, func()) + type StreamState struct + Code uint16 + Message string + Stream ID + type WantedHashes struct + BitVector []byte + Ruid uint