wantlist

package
v0.0.0-...-8b9b725 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2019 License: MIT, MIT Imports: 2 Imported by: 20

Documentation

Overview

Package wantlist implements an object for bitswap that contains the keys that a given peer wants.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Entry

type Entry struct {
	Cid      cid.Cid
	Priority int
}

func NewRefEntry

func NewRefEntry(c cid.Cid, p int) Entry

NewRefEntry creates a new reference tracked wantlist entry.

type SessionTrackedWantlist

type SessionTrackedWantlist struct {
	// contains filtered or unexported fields
}

func NewSessionTrackedWantlist

func NewSessionTrackedWantlist() *SessionTrackedWantlist

func (*SessionTrackedWantlist) Add

func (w *SessionTrackedWantlist) Add(c cid.Cid, priority int, ses uint64) bool

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 (*SessionTrackedWantlist) AddEntry

func (w *SessionTrackedWantlist) AddEntry(e Entry, ses uint64) bool

AddEntry adds given Entry to the wantlist. For more information see Add method.

func (*SessionTrackedWantlist) Contains

func (w *SessionTrackedWantlist) Contains(k cid.Cid) (Entry, bool)

Contains returns true if the given cid is in the wantlist tracked by one or more sessions.

func (*SessionTrackedWantlist) CopyWants

func (*SessionTrackedWantlist) Entries

func (w *SessionTrackedWantlist) Entries() []Entry

func (*SessionTrackedWantlist) Len

func (w *SessionTrackedWantlist) Len() int

func (*SessionTrackedWantlist) Remove

func (w *SessionTrackedWantlist) 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 (*SessionTrackedWantlist) SortedEntries

func (w *SessionTrackedWantlist) SortedEntries() []Entry

type Wantlist

type Wantlist struct {
	// contains filtered or unexported fields
}

func New

func New() *Wantlist

func (*Wantlist) Add

func (w *Wantlist) Add(c cid.Cid, priority int) bool

func (*Wantlist) AddEntry

func (w *Wantlist) AddEntry(e Entry) bool

func (*Wantlist) Contains

func (w *Wantlist) Contains(c cid.Cid) (Entry, bool)

func (*Wantlist) Entries

func (w *Wantlist) Entries() []Entry

func (*Wantlist) Len

func (w *Wantlist) Len() int

func (*Wantlist) Remove

func (w *Wantlist) Remove(c cid.Cid) bool

func (*Wantlist) SortedEntries

func (w *Wantlist) SortedEntries() []Entry

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL