代码拉取完成,页面将自动刷新
package decision
import (
"sync"
pb "gitee.com/yuviazhu/go-bitswap/message/pb"
wl "gitee.com/yuviazhu/go-bitswap/wantlist"
"github.com/ipfs/go-cid"
"github.com/libp2p/go-libp2p-core/peer"
)
func newLedger(p peer.ID) *ledger {
return &ledger{
wantList: wl.New(),
Partner: p,
}
}
// Keeps the wantlist for the partner. NOT threadsafe!
type ledger struct {
// Partner is the remote Peer.
Partner peer.ID
// wantList is a (bounded, small) set of keys that Partner desires.
wantList *wl.Wantlist
lk sync.RWMutex
}
func (l *ledger) Wants(k cid.Cid, priority int32, wantType pb.Message_Wantlist_WantType) {
log.Debugf("peer %s wants %s", l.Partner, k)
l.wantList.Add(k, priority, wantType)
}
func (l *ledger) CancelWant(k cid.Cid) bool {
return l.wantList.Remove(k)
}
func (l *ledger) WantListContains(k cid.Cid) (wl.Entry, bool) {
return l.wantList.Contains(k)
}
func (l *ledger) Entries() []wl.Entry {
return l.wantList.Entries()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。