Documentation ¶
Index ¶
- Constants
- func SetUDPSocketOptions(conn *net.UDPConn) error
- func WriteToSessionUDP(conn *net.UDPConn, session *ConnUDPContext, b []byte) (int, error)
- type Conn
- func (c *Conn) Close() error
- func (c *Conn) LocalAddr() net.Addr
- func (c *Conn) ReadFullWithContext(ctx context.Context, buffer []byte) error
- func (c *Conn) ReadWithContext(ctx context.Context, buffer []byte) (int, error)
- func (c *Conn) RemoteAddr() net.Addr
- func (c *Conn) WriteWithContext(ctx context.Context, data []byte) error
- type ConnDTLS
- func (c *ConnDTLS) Close() error
- func (c *ConnDTLS) LocalAddr() net.Addr
- func (c *ConnDTLS) Read(b []byte) (n int, err error)
- func (c *ConnDTLS) RemoteAddr() net.Addr
- func (c *ConnDTLS) SetDeadline(t time.Time) error
- func (c *ConnDTLS) SetReadDeadline(t time.Time) error
- func (c *ConnDTLS) SetWriteDeadline(t time.Time) error
- func (c *ConnDTLS) Write(b []byte) (n int, err error)
- type ConnUDP
- func (c *ConnUDP) Close() error
- func (c *ConnUDP) JoinGroup(ifi *net.Interface, group net.Addr) error
- func (c *ConnUDP) LocalAddr() net.Addr
- func (c *ConnUDP) ReadWithContext(ctx context.Context, buffer []byte) (int, *ConnUDPContext, error)
- func (c *ConnUDP) RemoteAddr() net.Addr
- func (c *ConnUDP) SetMulticastLoopback(on bool) error
- func (c *ConnUDP) WriteWithContext(ctx context.Context, udpCtx *ConnUDPContext, buffer []byte) error
- type ConnUDPContext
- type DTLSListener
- type Error
- type TCPListener
- type TLSListener
Constants ¶
const ErrServerClosed = Error("server closed")
Variables ¶
This section is empty.
Functions ¶
func SetUDPSocketOptions ¶
SetUDPSocketOptions set controls FlagDst,FlagInterface to UDPConn.
func WriteToSessionUDP ¶
WriteToSessionUDP acts just like net.UDPConn.WriteTo(), but uses a *SessionUDP instead of a net.Addr.
Types ¶
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
Conn is a generic stream-oriented network connection that provides Read/Write with context.
Multiple goroutines may invoke methods on a Conn simultaneously.
func (*Conn) LocalAddr ¶
LocalAddr returns the local network address. The Addr returned is shared by all invocations of LocalAddr, so do not modify it.
func (*Conn) ReadFullWithContext ¶
ReadFullContext reads stream with context until whole buffer is satisfied.
func (*Conn) ReadWithContext ¶
ReadContext reads stream with context.
func (*Conn) RemoteAddr ¶
RemoteAddr returns the remote network address. The Addr returned is shared by all invocations of RemoteAddr, so do not modify it.
type ConnDTLS ¶
type ConnDTLS struct {
// contains filtered or unexported fields
}
func NewConnDTLS ¶
func (*ConnDTLS) RemoteAddr ¶
type ConnUDP ¶
type ConnUDP struct {
// contains filtered or unexported fields
}
ConnUDP is a udp connection provides Read/Write with context.
Multiple goroutines may invoke methods on a ConnUDP simultaneously.
func NewConnUDP ¶
NewConnUDP creates connection over net.UDPConn.
func (*ConnUDP) JoinGroup ¶
JoinGroup joins the group address group on the interface ifi. By default all sources that can cast data to group are accepted. It's possible to mute and unmute data transmission from a specific source by using ExcludeSourceSpecificGroup and IncludeSourceSpecificGroup. JoinGroup uses the system assigned multicast interface when ifi is nil, although this is not recommended because the assignment depends on platforms and sometimes it might require routing configuration.
func (*ConnUDP) LocalAddr ¶
LocalAddr returns the local network address. The Addr returned is shared by all invocations of LocalAddr, so do not modify it.
func (*ConnUDP) ReadWithContext ¶
ReadWithContext reads packet with context.
func (*ConnUDP) RemoteAddr ¶
RemoteAddr returns the remote network address. The Addr returned is shared by all invocations of RemoteAddr, so do not modify it.
func (*ConnUDP) SetMulticastLoopback ¶
SetMulticastLoopback sets whether transmitted multicast packets should be copied and send back to the originator.
func (*ConnUDP) WriteWithContext ¶
func (c *ConnUDP) WriteWithContext(ctx context.Context, udpCtx *ConnUDPContext, buffer []byte) error
WriteWithContext writes data with context.
type ConnUDPContext ¶
type ConnUDPContext struct {
// contains filtered or unexported fields
}
ConnUDPContext holds the remote address and the associated out-of-band data.
func NewConnUDPContext ¶
func NewConnUDPContext(raddr *net.UDPAddr, oob []byte) *ConnUDPContext
NewConnUDPContext creates conn udp context.
func ReadFromSessionUDP ¶
ReadFromSessionUDP acts just like net.UDPConn.ReadFrom(), but returns a session object instead of a net.UDPAddr.
func (*ConnUDPContext) Key ¶
func (s *ConnUDPContext) Key() string
Key returns the key session for the map using
func (*ConnUDPContext) RemoteAddr ¶
func (s *ConnUDPContext) RemoteAddr() net.Addr
RemoteAddr returns the remote network address.
type DTLSListener ¶
type DTLSListener struct {
// contains filtered or unexported fields
}
DTLSListener is a DTLS listener that provides accept with context.
func NewDTLSListener ¶
func NewDTLSListener(network string, addr string, cfg *dtls.Config, heartBeat time.Duration) (*DTLSListener, error)
NewDTLSListener creates dtls listener. Known networks are "udp", "udp4" (IPv4-only), "udp6" (IPv6-only).
func (*DTLSListener) Accept ¶
func (l *DTLSListener) Accept() (net.Conn, error)
Accept waits for a generic Conn.
func (*DTLSListener) AcceptWithContext ¶
AcceptWithContext waits with context for a generic Conn.
func (*DTLSListener) Addr ¶
func (l *DTLSListener) Addr() net.Addr
Addr represents a network end point address.
func (*DTLSListener) SetDeadline ¶
func (l *DTLSListener) SetDeadline(t time.Time) error
SetDeadline sets deadline for accept operation.
type TCPListener ¶
type TCPListener struct {
// contains filtered or unexported fields
}
TCPListener is a TCP network listener that provides accept with context.
func NewTCPListener ¶
NewTCPListener creates tcp listener. Known networks are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only).
func (*TCPListener) Accept ¶
func (l *TCPListener) Accept() (net.Conn, error)
Accept waits for a generic Conn.
func (*TCPListener) AcceptWithContext ¶
AcceptContext waits with context for a generic Conn.
func (*TCPListener) Addr ¶
func (l *TCPListener) Addr() net.Addr
Addr represents a network end point address.
func (*TCPListener) SetDeadline ¶
func (l *TCPListener) SetDeadline(t time.Time) error
SetDeadline sets deadline for accept operation.
type TLSListener ¶
type TLSListener struct {
// contains filtered or unexported fields
}
TLSListener is a TLS listener that provides accept with context.
func NewTLSListener ¶
func NewTLSListener(network string, addr string, cfg *tls.Config, heartBeat time.Duration) (*TLSListener, error)
NewTLSListener creates tcp listener. Known networks are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only).
func (*TLSListener) Accept ¶
func (l *TLSListener) Accept() (net.Conn, error)
Accept waits for a generic Conn.
func (*TLSListener) AcceptWithContext ¶
AcceptContext waits with context for a generic Conn.
func (*TLSListener) Addr ¶
func (l *TLSListener) Addr() net.Addr
Addr represents a network end point address.
func (*TLSListener) SetDeadline ¶
func (l *TLSListener) SetDeadline(t time.Time) error
SetDeadline sets deadline for accept operation.