static void TrySetCanceled(RequestResponseStateLookup.State state) { if (state.CancellationToken.IsCancellationRequested) { state.TaskCompletionSource.TrySetCanceled(); } }
public static void RegisterCancellationToken(this ExtendableOptions options, CancellationToken cancellationToken) { var extensions = options.GetExtensions(); RequestResponseStateLookup.State state; if (extensions.TryGet(out state)) { state.CancellationToken = cancellationToken; } else { state = new RequestResponseStateLookup.State { CancellationToken = cancellationToken }; } extensions.Set(state); }