github.com/pion/webrtc/v4@v4.0.1/icemux.go (about)

     1  // SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
     2  // SPDX-License-Identifier: MIT
     3  
     4  package webrtc
     5  
     6  import (
     7  	"net"
     8  
     9  	"github.com/pion/ice/v4"
    10  	"github.com/pion/logging"
    11  )
    12  
    13  // NewICETCPMux creates a new instance of ice.TCPMuxDefault. It enables use of
    14  // passive ICE TCP candidates.
    15  func NewICETCPMux(logger logging.LeveledLogger, listener net.Listener, readBufferSize int) ice.TCPMux {
    16  	return ice.NewTCPMuxDefault(ice.TCPMuxParams{
    17  		Listener:       listener,
    18  		Logger:         logger,
    19  		ReadBufferSize: readBufferSize,
    20  	})
    21  }
    22  
    23  // NewICEUDPMux creates a new instance of ice.UDPMuxDefault. It allows many PeerConnections to be served
    24  // by a single UDP Port.
    25  func NewICEUDPMux(logger logging.LeveledLogger, udpConn net.PacketConn) ice.UDPMux {
    26  	return ice.NewUDPMuxDefault(ice.UDPMuxParams{
    27  		UDPConn: udpConn,
    28  		Logger:  logger,
    29  	})
    30  }