private void Resolve(ResolveRequestDTO req) { Entity <DataType> .ResolveStarted(req); this.resolver.Resolve(req, (r => { if (ResolveErrorHelper.HandledError(req.key, r, Entity <DataType> .RESOLVE_FAILED, debug: this.debug)) { return; } var resultItem = r.item; if (!this.isOkStatus(resultItem.status)) { NotificationBus.Send( Entity <DataType> .RESOLVE_FAILED, ResolveFailedDTO.For(req, resultItem.status) ); return; } Entity <DataType> .ResolveSucceeded( new ResolveSucceededDTO <DataType> { key = req.key, id = resultItem.id, resolveRequestId = req.resolveRequestId, data = resultItem.data, timestamp = resultItem.timestamp, maxAgeSecs = resultItem.maxAgeSecs }); })); }
public ResolveStatus ResolveFailed(ResolveFailedDTO dto, DateTimeOffset updateTime) { return(new ResolveStatus { isResolveInProgress = false, updatedAt = updateTime, resolveError = dto.errorMessage, hasResolved = this.hasResolved, timestamp = this.timestamp, maxAgeSecs = this.maxAgeSecs, requestIdLastStarted = this.requestIdLastStarted, requestIdLastCompleted = dto.resolveRequestId }); }
private async void Resolve(ResolveRequestDTO req) { #if UNITY_EDITOR || DEBUG_UNSTRIP if (this.debug) { Debug.LogFormat( "[{0}] will resolve {1} with key {2}", Time.frameCount, typeof(DataType).Name, req.key ); } #endif Entity <DataType> .ResolveStarted(req); try { var resultItem = await this.resolver.ResolveAsync(req); if (!this.isOkStatus(resultItem.status)) { NotificationBus.Send( Entity <DataType> .RESOLVE_FAILED, ResolveFailedDTO.For(req, resultItem.status) ); return; } Entity <DataType> .ResolveSucceeded( new ResolveSucceededDTO <DataType> { key = req.key, id = resultItem.id, resolveRequestId = req.resolveRequestId, data = resultItem.data, timestamp = resultItem.timestamp, maxAgeSecs = resultItem.maxAgeSecs }); } catch (Exception e) { Entity <DataType> .ResolveFailed( ResolveFailedDTO.For(req, e.Message) ); } }
public static void ResolveFailed(ResolveFailedDTO dto, Opts opts = Opts.RequireReceiver) { N.Send(RESOLVE_FAILED, dto, opts); }