Documentation
¶
Index ¶
- func GetAddr(path string) (net.Addr, error)
- func ParseUri(uri string) (string, error)
- type Connection
- func (c *Connection) Cancel()
- func (c *Connection) CancelRecv()
- func (c *Connection) CancelSend()
- func (c *Connection) Close()
- func (c *Connection) IsOpened() bool
- func (c *Connection) NetConn() net.Conn
- func (c *Connection) Open(timeout float64) error
- func (c *Connection) Parent() comm.Listener
- func (c *Connection) Recv(timeout float64) ([]byte, error)
- func (c *Connection) RecvFrom(timeout float64) ([]byte, any, error)
- func (c *Connection) Send(data []byte, timeout float64) error
- func (c *Connection) SendTo(data []byte, addr any, timeout float64) error
- func (c *Connection) String() string
- func (c *Connection) Type() string
- func (c *Connection) Uri() string
- type Listener
- func (l *Listener) IsActive() bool
- func (l *Listener) NetListener() net.Listener
- func (l *Listener) SetConnHandler(handler func(comm.Connection))
- func (l *Listener) Start() error
- func (l *Listener) Stop()
- func (l *Listener) String() string
- func (l *Listener) Type() string
- func (l *Listener) Uri() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Connection ¶
type Connection struct { // Log is the logger instance for communication data logging. Log *logging.Logger // PollConfig defines the read polling. PollConfig *comm.PollingConfig // contains filtered or unexported fields }
Connection represents a net socket connection with event support and logging.
func NewConnection ¶
NewConnection creates and initializes a new Connection for the given URI.
The parsed options are:
- Polling Options: detailed in comm.ParsePollingConfig
func (*Connection) Cancel ¶
func (c *Connection) Cancel()
Cancel cancels any ongoing operations on the connection.
func (*Connection) CancelRecv ¶
func (c *Connection) CancelRecv()
Cancel interrupts the ongoing receiving operation for this Connection.
func (*Connection) CancelSend ¶
func (c *Connection) CancelSend()
Cancel interrupts the ongoing sending operation for this Connection.
func (*Connection) Close ¶
func (c *Connection) Close()
Close shuts down the connection and cleaning up resources.
func (*Connection) IsOpened ¶
func (c *Connection) IsOpened() bool
IsOpened indicates whether the connection is currently open and active.
func (*Connection) NetConn ¶
func (c *Connection) NetConn() net.Conn
NetConn returns the net connection instance.
func (*Connection) Open ¶
func (c *Connection) Open(timeout float64) error
Open establishes the connection.
func (*Connection) Parent ¶
func (c *Connection) Parent() comm.Listener
Parent returns the parent Listener if any is associated with the Connection.
func (*Connection) Recv ¶
func (c *Connection) Recv(timeout float64) ([]byte, error)
Recv waits for incoming data over the connection until a timeout or interrupt event occurs. Setting timeout=0 will wait indefinitely.
func (*Connection) RecvFrom ¶
func (c *Connection) RecvFrom(timeout float64) ([]byte, any, error)
RecvFrom waits for incoming data from addr over the connection until a timeout or interrupt event occurs.
Setting timeout 0 or negative value will wait indefinitely.
func (*Connection) Send ¶
func (c *Connection) Send(data []byte, timeout float64) error
Send transmits data over the connection, with a specified timeout.
func (*Connection) SendTo ¶
func (c *Connection) SendTo(data []byte, addr any, timeout float64) error
SendTo transmits data to addr over the connection, with a specified timeout.
Setting timeout 0 or negative value will wait indefinitely.
func (*Connection) String ¶
func (c *Connection) String() string
String returns a string representation of the Connection.
func (*Connection) Type ¶
func (c *Connection) Type() string
Type returns the type of the connection as inferred from the Uri.
type Listener ¶
type Listener struct { // ConnectionHandler defines the function to handle incoming connections. ConnectionHandler func(comm.Connection) // Log is the logger instance for communication data logging. Log *logging.Logger // PollConfig defines the read polling. PollConfig *comm.PollingConfig // LimiterConfig defines the limits for TCP connections. LimiterConfig *comm.LimiterConfig // contains filtered or unexported fields }
Listener represents a net socket listener that handles incoming connections with a custom connection handler.
func NewListener ¶
NewListener creates a new Listener.
The parsed options are:
- Polling Options: detailed in comm.ParsePollingConfig
- Limiter Options: detailed in comm.ParseLimiterConfig
func (*Listener) NetListener ¶
NetListener returns the net listener instance.
func (*Listener) SetConnHandler ¶
func (l *Listener) SetConnHandler(handler func(comm.Connection))
SetConnHandler sets a callback function to handle connections.
func (*Listener) Start ¶
Start begins listening for connections, calling the connectionHandler for each established connection.