protected virtual void Notify() { int size = Queue.Count; if (Position + size >= Length) { return; } if (size <= _notify) { BufferEventArgs <T> e = new BufferEventArgs <T>(0, Capacity - size, Filters); FillBuffer?.Invoke(this, e); for (int i = 0; e.ActualWrite > i; i++) { Queue.Enqueue(e.Buffer[i]); } } }
public int Read(byte[] buffer, int offset, int count) { fb.Invoke(buffer); return(count); }
protected void OnFillBuffer(BufferEventArgs <T> e) { FillBuffer?.Invoke(this, e); }