Documentation ¶
Overview ¶
Package mux multiplexes packets on a single socket (RFC7983)
Index ¶
- func MatchAll(b []byte) bool
- func MatchDTLS(b []byte) bool
- func MatchNone(b []byte) bool
- func MatchSRTCP(buf []byte) bool
- func MatchSRTP(buf []byte) bool
- func MatchSRTPOrSRTCP(b []byte) bool
- func MatchSTUN(b []byte) bool
- func MatchTURN(b []byte) bool
- func MatchZRTP(b []byte) bool
- type Config
- type Endpoint
- func (e *Endpoint) Close() (err error)
- func (e *Endpoint) LocalAddr() net.Addr
- func (e *Endpoint) Read(p []byte) (int, error)
- func (e *Endpoint) RemoteAddr() net.Addr
- func (e *Endpoint) SetDeadline(t time.Time) error
- func (e *Endpoint) SetReadDeadline(t time.Time) error
- func (e *Endpoint) SetWriteDeadline(t time.Time) error
- func (e *Endpoint) Write(p []byte) (int, error)
- type MatchFunc
- type Mux
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MatchDTLS ¶
MatchDTLS is a MatchFunc that accepts packets with the first byte in [20..63] as defied in RFC7983
func MatchSRTCP ¶
MatchSRTCP is a MatchFunc that only matches SRTCP and not SRTP
func MatchSRTPOrSRTCP ¶
MatchSRTPOrSRTCP is a MatchFunc that accepts packets with the first byte in [128..191] as defied in RFC7983
func MatchSTUN ¶
MatchSTUN is a MatchFunc that accepts packets with the first byte in [0..3] as defied in RFC7983
Types ¶
type Config ¶
type Config struct { Conn net.Conn BufferSize int LoggerFactory logging.LoggerFactory }
Config collects the arguments to mux.Mux construction into a single structure
type Endpoint ¶
type Endpoint struct {
// contains filtered or unexported fields
}
Endpoint implements net.Conn. It is used to read muxed packets.
func (*Endpoint) Read ¶
Read reads a packet of len(p) bytes from the underlying conn that are matched by the associated MuxFunc
func (*Endpoint) SetDeadline ¶
SetDeadline is a stub
func (*Endpoint) SetReadDeadline ¶
SetReadDeadline is a stub
func (*Endpoint) SetWriteDeadline ¶
SetWriteDeadline is a stub
type MatchFunc ¶
MatchFunc allows custom logic for mapping packets to an Endpoint
func MatchRange ¶
MatchRange is a MatchFunc that accepts packets with the first byte in [lower..upper]
type Mux ¶
type Mux struct {
// contains filtered or unexported fields
}
Mux allows multiplexing
func (*Mux) NewEndpoint ¶
NewEndpoint creates a new Endpoint
func (*Mux) RemoveEndpoint ¶
RemoveEndpoint removes an endpoint from the Mux