Example #1
0
func NewServer(a *AlertManager, server *shttp.Server, pongWait time.Duration) *Server {
	s := &Server{
		AlertManager: a,
		wsServer: &WSServer{
			AlertManager: a,
			broadcast:    make(chan string, 500),
			quit:         make(chan bool, 1),
			register:     make(chan *WSClient),
			unregister:   make(chan *WSClient),
			clients:      make(map[*WSClient]bool),
			pongWait:     pongWait,
			pingPeriod:   (pongWait * 8) / 10,
		},
	}

	server.HandleFunc("/ws/alert", s.serveMessages)

	return s
}