From 06162290af86de9cb3a438bbb491e603104a7f0f Mon Sep 17 00:00:00 2001 From: laser Date: Tue, 23 Jun 2020 12:14:41 -0700 Subject: [PATCH] explicitly handle each deal status, as per PR feedback --- node/impl/client/client.go | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/node/impl/client/client.go b/node/impl/client/client.go index 9f8dd6bb9..72beda7ac 100644 --- a/node/impl/client/client.go +++ b/node/impl/client/client.go @@ -348,12 +348,34 @@ func (a *API) ClientRetrieve(ctx context.Context, order api.RetrievalOrder, ref unsubscribe := a.Retrieval.SubscribeToEvents(func(event retrievalmarket.ClientEvent, state retrievalmarket.ClientDealState) { if state.PayloadCID.Equals(order.Root) { switch state.Status { - case retrievalmarket.DealStatusRejected: - retrievalResult <- xerrors.Errorf("Retrieval Proposal Rejected: %s", state.Message) - case retrievalmarket.DealStatusFailed, retrievalmarket.DealStatusErrored: - retrievalResult <- xerrors.Errorf("Retrieval Error: %s", state.Message) - case retrievalmarket.DealStatusCompleted: + case + retrievalmarket.DealStatusCompleted: retrievalResult <- nil + case + retrievalmarket.DealStatusRejected: + retrievalResult <- xerrors.Errorf("Retrieval Proposal Rejected: %s", state.Message) + case + retrievalmarket.DealStatusDealNotFound, + retrievalmarket.DealStatusErrored, + retrievalmarket.DealStatusFailed: + retrievalResult <- xerrors.Errorf("Retrieval Error: %s", state.Message) + case + retrievalmarket.DealStatusAccepted, + retrievalmarket.DealStatusAwaitingAcceptance, + retrievalmarket.DealStatusBlocksComplete, + retrievalmarket.DealStatusFinalizing, + retrievalmarket.DealStatusFundsNeeded, + retrievalmarket.DealStatusFundsNeededLastPayment, + retrievalmarket.DealStatusNew, + retrievalmarket.DealStatusOngoing, + retrievalmarket.DealStatusPaymentChannelAddingFunds, + retrievalmarket.DealStatusPaymentChannelAllocatingLane, + retrievalmarket.DealStatusPaymentChannelCreating, + retrievalmarket.DealStatusPaymentChannelReady, + retrievalmarket.DealStatusVerified: + return + default: + retrievalResult <- xerrors.Errorf("Unhandled Retrieval Status: %+v", state.Status) } } })