예제 #1
0
파일: uAdmin.go 프로젝트: henser123/uq
// ListenAndServe implements the ListenAndServe interface
func (s *UnitedAdmin) ListenAndServe() error {
	addr := utils.Addrcat(s.host, s.port)
	l, err := net.Listen("tcp", addr)
	if err != nil {
		return err
	}

	stopListener, err := utils.NewStopListener(l)
	if err != nil {
		return err
	}
	s.stopListener = stopListener

	log.Printf("admin server serving at %s...", addr)
	return s.server.Serve(s.stopListener)
}
예제 #2
0
파일: httpEntry.go 프로젝트: henser123/uq
// ListenAndServe implements the ListenAndServe interface
func (h *HTTPEntry) ListenAndServe() error {
	addr := utils.Addrcat(h.host, h.port)
	l, err := net.Listen("tcp", addr)
	if err != nil {
		return err
	}

	stopListener, err := utils.NewStopListener(l)
	if err != nil {
		return err
	}
	h.stopListener = stopListener

	log.Printf("http entrance serving at %s...", addr)
	return h.server.Serve(h.stopListener)
}
예제 #3
0
파일: redisEntry.go 프로젝트: henser123/uq
// ListenAndServe implements the ListenAndServe interface
func (r *RedisEntry) ListenAndServe() error {
	addr := utils.Addrcat(r.host, r.port)
	l, err := net.Listen("tcp", addr)
	if err != nil {
		return err
	}

	stopListener, err := utils.NewStopListener(l)
	if err != nil {
		return err
	}
	r.stopListener = stopListener

	log.Printf("redis entrance serving at %s...", addr)
	for {
		conn, err := r.stopListener.Accept()
		if err != nil {
			// log.Printf("Accept failed: %s\n", err)
			return err
		}
		go r.handlerConn(newSession(conn))
	}
}
예제 #4
0
파일: mcEntry.go 프로젝트: henser123/uq
// ListenAndServe implements the ListenAndServe interface
func (m *McEntry) ListenAndServe() error {
	addr := utils.Addrcat(m.host, m.port)
	l, err := net.Listen("tcp", addr)
	if err != nil {
		return err
	}

	stopListener, err := utils.NewStopListener(l)
	if err != nil {
		return err
	}
	m.stopListener = stopListener

	log.Printf("mc entrance serving at %s...", addr)
	for {
		conn, e := m.stopListener.Accept()
		if e != nil {
			// log.Printf("Accept failed: %s\n", e)
			return e
		}

		go m.handlerConn(conn)
	}
}