private void Release() { _Operation = null; _Collection = null; _Awaiter = default; Waiters.Add(this); }
//**************************************** internal static PeekTakeWaiter GetOrCreate(AsyncCollectionTakeAny <T> operation, AsyncCollection <T> collection) { if (!Waiters.TryTake(out var Waiter)) { Waiter = new PeekTakeWaiter(); } Waiter._Operation = operation; Waiter._Collection = collection; return(Waiter); }