public static ETTask <T> FromCanceled <T>(CancellationToken token) { var tcs = new ETTaskCompletionSource <T>(); tcs.TrySetException(new OperationCanceledException(token)); return(tcs.Task); }
public static ETTask CompletedTask => new ETTask(); //public static ETTask CompletedTask { get { return new ETTask(); } } public static ETTask FromException(Exception ex) { ETTaskCompletionSource tcs = new ETTaskCompletionSource(); tcs.TrySetException(ex); return(tcs.Task); }
public static ETTask <T> FromException <T>(Exception ex) { var tcs = new ETTaskCompletionSource <T>(); tcs.TrySetException(ex); return(tcs.Task); }
public static ETTask <T> FromCanceled <T>(CancellationToken token) { var promise = new ETTaskCompletionSource <T>(); promise.TrySetException(new OperationCanceledException(token)); return(new ETTask <T>(promise)); }
public static ETTask <T> FromException <T>(Exception ex) { var promise = new ETTaskCompletionSource <T>(); promise.TrySetException(ex); return(new ETTask <T>(promise)); }
public static ETTask FromException(Exception ex) { var promise = new ETTaskCompletionSource <AsyncUnit>(); promise.TrySetException(ex); return(new ETTask(promise)); }
public ETTask <IResponse> Call(IRequest request) { int rpcId = ++RpcId; var tcs = new ETTaskCompletionSource <IResponse>(); this.requestCallback[rpcId] = (response) => { try { if (ErrorCode.IsRpcNeedThrowException(response.Error)) { throw new RpcException(response.Error, response.Message); } tcs.TrySetResult(response); } catch (Exception e) { tcs.TrySetException(new Exception($"Rpc Error: {request.GetType().FullName}", e)); } }; request.RpcId = rpcId; this.Send(0x00, request); return(tcs.Task); }
// 3. SetException //[DebuggerHidden] public void SetException(Exception exception) { if (promise == null) { promise = new ETTaskCompletionSource(); } if (exception is OperationCanceledException ex) { promise.TrySetCanceled(ex); } else { promise.TrySetException(exception); } }