fix(peer): remove unused reconnect callback from data channel close handler

This commit is contained in:
zarazaex69
2026-04-14 00:19:02 +03:00
parent f43bea1680
commit 0aa73f72ef
3 changed files with 16 additions and 20 deletions

View File

@@ -221,10 +221,10 @@ func (c *Client) addPeer(
func (c *Client) onReconnect(peerID int, dc *webrtc.DataChannel) {
if dc == nil {
log.Printf("peer %d channel closed", peerID)
} else {
log.Printf("peer %d reconnected", peerID)
return
}
log.Printf("peer %d reconnected", peerID)
c.mux.UpdateSendFunc(c.sendFrame)
c.mux.Reset()
}

View File

@@ -215,10 +215,11 @@ func (s *Server) addPeer(ctx context.Context, roomURL string, peerID int, cancel
func (s *Server) handlePeerReconnect(peerID int, dc *webrtc.DataChannel) {
if dc == nil {
log.Printf("peer %d channel closed", peerID)
} else {
log.Printf("peer %d reconnected", peerID)
return
}
log.Printf("peer %d reconnected", peerID)
s.connMu.Lock()
for sid, conn := range s.connections {
if conn != nil {
@@ -228,19 +229,17 @@ func (s *Server) handlePeerReconnect(peerID int, dc *webrtc.DataChannel) {
}
s.connMu.Unlock()
if dc != nil {
s.mux.UpdateSendFunc(func(frame []byte) error {
encrypted, err := s.cipher.Encrypt(frame)
if err != nil {
return fmt.Errorf("%w: %w", ErrEncryptFailed, err)
}
if len(s.peers) == 0 {
return ErrNoPeers
}
idx := s.peerIdx.Add(1) % uint32(len(s.peers)) //nolint:gosec
return s.peers[idx].Send(encrypted)
})
}
s.mux.UpdateSendFunc(func(frame []byte) error {
encrypted, err := s.cipher.Encrypt(frame)
if err != nil {
return fmt.Errorf("%w: %w", ErrEncryptFailed, err)
}
if len(s.peers) == 0 {
return ErrNoPeers
}
idx := s.peerIdx.Add(1) % uint32(len(s.peers)) //nolint:gosec
return s.peers[idx].Send(encrypted)
})
s.mux.Reset()
}

View File

@@ -285,9 +285,6 @@ func (p *Peer) setupDataChannelHandlers(dcReady chan struct{}, sessionCloseCh ch
}
func (p *Peer) onDataChannelClose() {
if p.onReconnect != nil {
p.onReconnect(nil)
}
if !p.closed.Load() {
p.queueReconnect()
}