func MatchingDispatchResponseToError(resp *matchingservice.DispatchNexusTaskResponse) error {
switch t := resp.GetOutcome().(type) {
// Worker received the task and explicitly failed it (via RespondNexusTaskFailed).
return temporal.GetDefaultFailureConverter().FailureToError(t.Failure)
case *matchingservice.DispatchNexusTaskResponse_RequestTimeout:
return nexus.NewHandlerErrorf(nexus.HandlerErrorTypeUpstreamTimeout, "upstream timeout")