(ring *util.Ring[F])
| 12 | } |
| 13 | |
| 14 | func (r *RingReader[T, F]) StartRead(ring *util.Ring[F]) (err error) { |
| 15 | r.Ring = ring |
| 16 | if r.Value.IsDiscarded() { |
| 17 | return ErrDiscard |
| 18 | } |
| 19 | r.Value.ReaderEnter() |
| 20 | r.locked = true |
| 21 | r.Count++ |
| 22 | return |
| 23 | } |
| 24 | |
| 25 | func (r *RingReader[T, F]) TryRead() (f F, err error) { |
| 26 | if r.Count > 0 { |