diff --git a/impl/receiving_requests.go b/impl/receiving_requests.go index b8b476d..8c56797 100644 --- a/impl/receiving_requests.go +++ b/impl/receiving_requests.go @@ -250,23 +250,6 @@ func (m *manager) recordRejectedValidationEvents(chid datatransfer.ChannelID, re func (m *manager) recordAcceptedValidationEvents(chst datatransfer.ChannelState, result datatransfer.ValidationResult) error { chid := chst.ChannelID() - // pause or resume the request as neccesary - if result.LeaveRequestPaused(chst) { - if !chst.Status().IsResponderPaused() { - err := m.channels.PauseResponder(chid) - if err != nil { - return err - } - } - } else { - if chst.Status().IsResponderPaused() { - err := m.channels.ResumeResponder(chid) - if err != nil { - return err - } - } - } - // record the voucher result if present if result.VoucherResult != nil { err := m.channels.NewVoucherResult(chid, result.VoucherResult) @@ -290,6 +273,24 @@ func (m *manager) recordAcceptedValidationEvents(chst datatransfer.ChannelState, return err } } + + // pause or resume the request as neccesary + if result.LeaveRequestPaused(chst) { + if !chst.Status().IsResponderPaused() { + err := m.channels.PauseResponder(chid) + if err != nil { + return err + } + } + } else { + if chst.Status().IsResponderPaused() { + err := m.channels.ResumeResponder(chid) + if err != nil { + return err + } + } + } + return nil } diff --git a/impl/responding_test.go b/impl/responding_test.go index 20d825c..4f51510 100644 --- a/impl/responding_test.go +++ b/impl/responding_test.go @@ -356,9 +356,9 @@ func TestDataTransferResponding(t *testing.T) { datatransfer.DataReceived, datatransfer.DataLimitExceeded, datatransfer.NewVoucher, - datatransfer.ResumeResponder, datatransfer.NewVoucherResult, datatransfer.SetDataLimit, + datatransfer.ResumeResponder, }, configureValidator: func(sv *testutil.StubbedValidator) { sv.ExpectSuccessPush() @@ -455,9 +455,9 @@ func TestDataTransferResponding(t *testing.T) { datatransfer.DataQueued, datatransfer.DataLimitExceeded, datatransfer.NewVoucher, - datatransfer.ResumeResponder, datatransfer.NewVoucherResult, datatransfer.SetDataLimit, + datatransfer.ResumeResponder, }, configureValidator: func(sv *testutil.StubbedValidator) { sv.ExpectSuccessPull() @@ -505,9 +505,9 @@ func TestDataTransferResponding(t *testing.T) { datatransfer.SetRequiresFinalization, datatransfer.BeginFinalizing, datatransfer.NewVoucher, - datatransfer.ResumeResponder, datatransfer.NewVoucherResult, datatransfer.SetRequiresFinalization, + datatransfer.ResumeResponder, datatransfer.CleanupComplete, }, configureValidator: func(sv *testutil.StubbedValidator) {