# README
Golang high-performance asynchronous UDP (only supports Linux)
Example
package main
import (
"fmt"
"syscall"
"time"
"golang.org/x/sys/unix"
"github.com/gotcp/udp"
)
var u *udp.EP
// Asynchronous event
func OnReceive(from unix.Sockaddr, msg []byte, n int) {
var err = u.WriteWithTimeout(from, msg, 3*time.Second)
if err != nil {
fmt.Printf("write error -> %v\n", err)
}
}
// Asynchronous event
func OnError(code udp.ErrorCode, err error) {
fmt.Printf("OnError -> %d, %v\n", code, err)
}
func main() {
var err error
var rLimit syscall.Rlimit
if err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit); err != nil {
panic(err)
}
rLimit.Cur = rLimit.Max
if err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit); err != nil {
panic(err)
}
// parameters: readBuffer, threads, queueLength
u, err = udp.New(2048, 3500, 4096)
if err != nil {
panic(err)
}
defer u.Stop()
u.OnReceive = OnReceive // must have
u.OnError = OnError // optional
u.Start("0.0.0.0", 8003)
}
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author