mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-22 19:07:48 +08:00
log(gcr/s,c) add addtional eventlogs
This commit is contained in:
parent
098edb306f
commit
eb8db2ec79
@ -36,6 +36,7 @@ func NewClient(px proxy.Proxy, h host.Host, ps peer.Peerstore, local peer.ID) (*
|
||||
}
|
||||
|
||||
func (c *Client) FindProvidersAsync(ctx context.Context, k u.Key, max int) <-chan peer.PeerInfo {
|
||||
ctx = eventlog.ContextWithLoggable(ctx, eventlog.Uuid("findProviders"))
|
||||
defer log.EventBegin(ctx, "findProviders", &k).Done()
|
||||
ch := make(chan peer.PeerInfo)
|
||||
go func() {
|
||||
|
||||
@ -87,35 +87,38 @@ func (px *standard) SendRequest(ctx context.Context, m *dhtpb.Message) (*dhtpb.M
|
||||
return nil, err // NB: returns the last error
|
||||
}
|
||||
|
||||
func (px *standard) sendRequest(ctx context.Context, m *dhtpb.Message, remote peer.ID) (_ *dhtpb.Message, err error) {
|
||||
e := log.EventBegin(ctx, "sendRoutingRequest", px.Host.ID(), remote, m)
|
||||
defer func() {
|
||||
if err != nil {
|
||||
e.SetError(err)
|
||||
}
|
||||
e.Done()
|
||||
}()
|
||||
if err = px.Host.Connect(ctx, peer.PeerInfo{ID: remote}); err != nil {
|
||||
func (px *standard) sendRequest(ctx context.Context, m *dhtpb.Message, remote peer.ID) (*dhtpb.Message, error) {
|
||||
e := log.EventBegin(ctx, "sendRoutingRequest", px.Host.ID(), remote, eventlog.Pair("request", m))
|
||||
defer e.Done()
|
||||
if err := px.Host.Connect(ctx, peer.PeerInfo{ID: remote}); err != nil {
|
||||
e.SetError(err)
|
||||
return nil, err
|
||||
}
|
||||
s, err := px.Host.NewStream(ProtocolGCR, remote)
|
||||
if err != nil {
|
||||
e.SetError(err)
|
||||
return nil, err
|
||||
}
|
||||
defer s.Close()
|
||||
r := ggio.NewDelimitedReader(s, inet.MessageSizeMax)
|
||||
w := ggio.NewDelimitedWriter(s)
|
||||
if err = w.WriteMsg(m); err != nil {
|
||||
e.SetError(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var reply dhtpb.Message
|
||||
if err = r.ReadMsg(&reply); err != nil {
|
||||
response := &dhtpb.Message{}
|
||||
if err = r.ReadMsg(response); err != nil {
|
||||
e.SetError(err)
|
||||
return nil, err
|
||||
}
|
||||
// need ctx expiration?
|
||||
if &reply == nil {
|
||||
return nil, errors.New("no response to request")
|
||||
if response == nil {
|
||||
err := errors.New("no response to request")
|
||||
e.SetError(err)
|
||||
return nil, err
|
||||
}
|
||||
return &reply, nil
|
||||
e.Append(eventlog.Pair("response", response))
|
||||
e.Append(eventlog.Pair("uuid", eventlog.Uuid("foo")))
|
||||
return response, nil
|
||||
}
|
||||
|
||||
@ -169,7 +169,8 @@ func storeProvidersToPeerstore(ps peer.Peerstore, p peer.ID, providers []*dhtpb.
|
||||
}
|
||||
|
||||
func getRoutingProviders(local peer.ID, ds datastore.Datastore, k util.Key) ([]*dhtpb.Message_Peer, error) {
|
||||
log.Event(context.Background(), "getProviders", local, &k)
|
||||
e := log.EventBegin(context.Background(), "getProviders", &k)
|
||||
defer e.Done()
|
||||
var providers []*dhtpb.Message_Peer
|
||||
exists, err := ds.Has(k.DsKey()) // TODO store values in a local datastore?
|
||||
if err == nil && exists {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user