streamSilenceGuard arbitrates whether an attempt times out while waiting for the next stream part. Exactly one outcome wins: the timer cancels the attempt, or release disarms the timer.
| 798 | // waiting for the next stream part. Exactly one outcome wins: the |
| 799 | // timer cancels the attempt, or release disarms the timer. |
| 800 | type streamSilenceGuard struct { |
| 801 | mu sync.Mutex |
| 802 | timer *quartz.Timer |
| 803 | cancel context.CancelCauseFunc |
| 804 | timeout time.Duration |
| 805 | settled bool |
| 806 | } |
| 807 | |
| 808 | func newStreamSilenceGuard( |
| 809 | clock quartz.Clock, |
nothing calls this directly
no outgoing calls
no test coverage detected