Documentation ¶
Overview ¶
package wantlist implements an object for bitswap that contains the keys that a given peer wants.
Index ¶
- type Entry
- type ThreadSafe
- func (w *ThreadSafe) Add(c *cid.Cid, priority int, ses uint64) bool
- func (w *ThreadSafe) AddEntry(e *Entry, ses uint64) bool
- func (w *ThreadSafe) Contains(k *cid.Cid) (*Entry, bool)
- func (w *ThreadSafe) Entries() []*Entry
- func (w *ThreadSafe) Len() int
- func (w *ThreadSafe) Remove(c *cid.Cid, ses uint64) bool
- func (w *ThreadSafe) SortedEntries() []*Entry
- type Wantlist
- func (w *Wantlist) Add(c *cid.Cid, priority int) bool
- func (w *Wantlist) AddEntry(e *Entry) bool
- func (w *Wantlist) Contains(k *cid.Cid) (*Entry, bool)
- func (w *Wantlist) Entries() []*Entry
- func (w *Wantlist) Len() int
- func (w *Wantlist) Remove(c *cid.Cid) bool
- func (w *Wantlist) SortedEntries() []*Entry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ThreadSafe ¶
type ThreadSafe struct {
// contains filtered or unexported fields
}
func NewThreadSafe ¶
func NewThreadSafe() *ThreadSafe
func (*ThreadSafe) Add ¶
Add adds the given cid to the wantlist with the specified priority, governed by the session ID 'ses'. if a cid is added under multiple session IDs, then it must be removed by each of those sessions before it is no longer 'in the wantlist'. Calls to Add are idempotent given the same arguments. Subsequent calls with different values for priority will not update the priority TODO: think through priority changes here Add returns true if the cid did not exist in the wantlist before this call (even if it was under a different session)
func (*ThreadSafe) AddEntry ¶ added in v0.4.2
func (w *ThreadSafe) AddEntry(e *Entry, ses uint64) bool
AddEntry adds given Entry to the wantlist. For more information see Add method.
func (*ThreadSafe) Contains ¶
func (w *ThreadSafe) Contains(k *cid.Cid) (*Entry, bool)
Contains returns true if the given cid is in the wantlist tracked by one or more sessions
func (*ThreadSafe) Entries ¶
func (w *ThreadSafe) Entries() []*Entry
func (*ThreadSafe) Len ¶
func (w *ThreadSafe) Len() int
func (*ThreadSafe) Remove ¶
func (w *ThreadSafe) Remove(c *cid.Cid, ses uint64) bool
Remove removes the given cid from being tracked by the given session. 'true' is returned if this call to Remove removed the final session ID tracking the cid. (meaning true will be returned iff this call caused the value of 'Contains(c)' to change from true to false)
func (*ThreadSafe) SortedEntries ¶
func (w *ThreadSafe) SortedEntries() []*Entry
type Wantlist ¶
type Wantlist struct {
// contains filtered or unexported fields
}
not threadsafe