code: func (s *Server) ListenAndServe(addr string, options ...func(*Server)) error {
  
  	if addr == "" {
  		addr = ":389"
  	}
  
  	var e error
  	s.Listener, e = net.Listen("tcp", addr)
  	if e != nil {
  		return e
  	}
  	Logger.Printf("Listening on %s\n", addr)
  
  	for _, option := range options {
  		option(s)
  	}
  
  	return s.serve()
  }
docs: // ListenAndServe listens on the TCP network address s.Addr and then
  // calls Serve to handle requests on incoming connections.  If
  // s.Addr is blank, ":389" is used.