private bool TryReadCore(out T item) { if (_items.TryDequeue(out item)) { if (_doneWriting != null && _items.IsEmpty) { CompleteWithOptionalError(_completion, _doneWriting); } return(true); } return(false); }
private bool TryRead(out T item) { if (_items.TryDequeue(out item)) { if (_doneWriting != null && _items.IsEmpty) { ChannelUtilities.Complete(_completion, _doneWriting); } return(true); } return(false); }