本文整理匯總了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())
}