package server import ( "net" "strconv" "go.alanpearce.eu/x/listenfd" ) func (s *Server) serveTCP() error { addr := joinHostPort(s.options.ListenAddress, s.options.Port) s.log.Debug( "fallback listener", "addr", addr, ) l, err := listenfd.GetListener(0, addr, s.log.Named("tcp.listenfd")) if err != nil { return err } return s.server.Serve(l) } func joinHostPort(host string, port int) string { if len(host) < 1 { return "" } portString := strconv.Itoa(port) if host[0] == '[' && host[len(host)-1] == ']' { return host + ":" + portString } return net.JoinHostPort(host, portString) }