mirror of
https://github.com/smallnest/rpcx.git
synced 2025-09-26 20:21:14 +08:00
37 lines
602 B
Go
37 lines
602 B
Go
//go:build rdma
|
|
// +build rdma
|
|
|
|
package server
|
|
|
|
import (
|
|
"net"
|
|
"os"
|
|
"strconv"
|
|
|
|
"github.com/smallnest/rsocket"
|
|
)
|
|
|
|
func init() {
|
|
makeListeners["rdma"] = rdmaMakeListener
|
|
}
|
|
|
|
func rdmaMakeListener(s *Server, address string) (ln net.Listener, err error) {
|
|
host, port, err := net.SplitHostPort(address)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
p, err := strconv.Atoi(port)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
backlog := os.Getenv("RDMA_BACKLOG")
|
|
if backlog == "" {
|
|
backlog = "128"
|
|
}
|
|
blog, _ := strconv.Atoi(backlog)
|
|
if blog == 0 {
|
|
blog = 128
|
|
}
|
|
return rsocket.NewTCPListener(host, p, blog)
|
|
}
|