code: func (s *Server) ServeListener(l net.Listener) error {
  	for {
  		conn, err := l.Accept()
  		if netutil.IsTemporaryError(err) {
  			log.Warn("RPC accept error", "err", err)
  			continue
  		} else if err != nil {
  			return err
  		}
  		log.Trace("Accepted RPC connection", "conn", conn.RemoteAddr())
  		go s.ServeCodec(NewJSONCodec(conn), OptionMethodInvocation|OptionSubscriptions)
  	}
  }
docs: // ServeListener accepts connections on l, serving JSON-RPC on them.