diff --git a/impl/events.go b/impl/events.go index 6a8ee5b7..5297d04f 100644 --- a/impl/events.go +++ b/impl/events.go @@ -165,6 +165,10 @@ func (m *manager) OnTransferQueued(chid datatransfer.ChannelID) { } func (m *manager) OnResponseReceived(chid datatransfer.ChannelID, response datatransfer.Response) error { + if response.IsComplete() { + log.Infow("received complete response", "chid", chid, "isAccepted", response.Accepted()) + } + if response.IsCancel() { log.Infof("channel %s: received cancel response, cancelling channel", chid) return m.channels.Cancel(chid) @@ -202,9 +206,11 @@ func (m *manager) OnResponseReceived(chid datatransfer.ChannelID, response datat } if response.IsComplete() && response.Accepted() { if !response.IsPaused() { - log.Infof("channel %s: received complete response, completing channel", chid) + log.Infow("received complete response,responder not paused, completing channel", "chid", chid) return m.channels.ResponderCompletes(chid) } + + log.Infow("received complete response, responder is paused, not completing channel", "chid", chid) err := m.channels.ResponderBeginsFinalization(chid) if err != nil { return nil @@ -244,17 +250,20 @@ func (m *manager) OnChannelCompleted(chid datatransfer.ChannelID, completeErr er if completeErr == nil { // If the channel was initiated by the other peer if chid.Initiator != m.peerID { + log.Infow("received OnChannelCompleted, will send completion message to initiator", "chid", chid) msg, err := m.completeMessage(chid) if err != nil { - return nil + return err } if msg != nil { // Send the other peer a message that the transfer has completed - log.Infof("channel %s: sending completion message to initiator", chid) + log.Infow("sending completion message to initiator", "chid", chid) if err := m.dataTransferNetwork.SendMessage(context.Background(), chid.Initiator, msg); err != nil { err := xerrors.Errorf("channel %s: failed to send completion message to initiator: %w", chid, err) - log.Warn(err) + log.Warnw("failed to send completion message to initiator", "chid", chid, "err", err) return m.OnRequestDisconnected(chid, err) + } else { + log.Infow("successfully sent completion message to initiator", "chid", chid) } } if msg.Accepted() {