本文整理汇总了Golang中github.com/disorganizer/brig/id.Peer.Hash方法的典型用法代码示例。如果您正苦于以下问题:Golang Peer.Hash方法的具体用法?Golang Peer.Hash怎么用?Golang Peer.Hash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/disorganizer/brig/id.Peer
的用法示例。
在下文中一共展示了Peer.Hash方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: setStoreOwner
func (st *Store) setStoreOwner(owner id.Peer) error {
if err := st.fs.MetadataPut("id", []byte(owner.ID())); err != nil {
return err
}
if err := st.fs.MetadataPut("hash", []byte(owner.Hash())); err != nil {
return err
}
return nil
}
示例2: rememberUnlocked
func (cp *conversationPool) rememberUnlocked(peer id.Peer, cnv Conversation) error {
cp.open[peer.ID()] = cnv
// Create a new pinger if not already done:
if _, ok := cp.heartbeat[peer.ID()]; !ok {
pinger, err := cp.rp.IPFS.Ping(peer.Hash())
if err != nil {
return err
}
cp.heartbeat[peer.ID()] = pinger
}
return nil
}
示例3: NewConversation
// NewConversation returns a conversation that exchanges data over `conn`.
func NewConversation(conn net.Conn, node *ipfsutil.Node, peer id.Peer) (*Conversation, error) {
proto, err := wrapConnAsProto(conn, node, peer.Hash())
if err != nil {
return nil, err
}
cnv := &Conversation{
conn: conn,
node: node,
peer: peer,
proto: proto,
notifees: make(map[int64]transfer.AsyncFunc),
}
// Cater responses:
go func() {
for {
resp := wire.Response{}
err := cnv.proto.Recv(&resp)
if isEOFError(err) {
break
}
if err != nil {
log.Warningf("Error while receiving data: %v", err)
continue
}
respID := resp.ID
cnv.Lock()
fn, ok := cnv.notifees[respID]
if !ok {
log.Warningf("No such id: %v", respID)
cnv.Unlock()
continue
}
// Remove the callback
delete(cnv.notifees, respID)
cnv.Unlock()
fn(&resp)
}
}()
return cnv, nil
}
示例4: NewRemoteFromPeer
func NewRemoteFromPeer(peer id.Peer) Remote {
return NewRemote(peer.ID(), peer.Hash())
}
示例5: Dial
func (id *ipfsDialer) Dial(peer id.Peer) (net.Conn, error) {
log.Debugf("IPFS dialing to %v", peer.Hash())
return id.node.Dial(peer.Hash(), id.layer.ProtocolID())
}