From 9a5a4b249dfd522ce061197f0e601c0aa843c88a Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Thu, 30 Apr 2026 14:13:54 +0300 Subject: [PATCH] feat(vp8channel): drain outbound channel before reconnect callback --- internal/transport/vp8channel/transport.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/internal/transport/vp8channel/transport.go b/internal/transport/vp8channel/transport.go index 018ab09..817f697 100644 --- a/internal/transport/vp8channel/transport.go +++ b/internal/transport/vp8channel/transport.go @@ -148,8 +148,23 @@ func (p *streamTransport) Close() error { return nil } +func (p *streamTransport) drainOutbound() { + for { + select { + case <-p.outbound: + default: + return + } + } +} + func (p *streamTransport) SetReconnectCallback(cb func()) { - p.stream.SetReconnectCallback(cb) + p.stream.SetReconnectCallback(func() { + p.drainOutbound() + if cb != nil { + cb() + } + }) } func (p *streamTransport) SetShouldReconnect(fn func() bool) {