Pull IRC client out

This commit is contained in:
Ken-Håvard Lieng 2015-06-06 00:34:13 +02:00
parent 78b6a0859b
commit adcf12e1fa
11 changed files with 567 additions and 538 deletions

View file

@ -1,47 +0,0 @@
package server
import (
"time"
"github.com/khlieng/name_pending/Godeps/_workspace/src/github.com/gorilla/websocket"
)
type WebSocket struct {
conn *websocket.Conn
Out chan []byte
}
func NewWebSocket(ws *websocket.Conn) *WebSocket {
return &WebSocket{
conn: ws,
Out: make(chan []byte, 32),
}
}
func (w *WebSocket) write() {
var err error
ping := time.Tick(20 * time.Second)
for {
select {
case msg, ok := <-w.Out:
if !ok {
return
}
err = w.conn.WriteMessage(websocket.TextMessage, msg)
case <-ping:
err = w.conn.WriteJSON(WSResponse{Type: "ping"})
}
if err != nil {
return
}
}
}
func (w *WebSocket) close() {
close(w.Out)
}