github.com/kvattikuti/drone@v0.2.1-0.20140603034306-d400229a327a/pkg/channel/conn.go (about) 1 package channel 2 3 import ( 4 "code.google.com/p/go.net/websocket" 5 ) 6 7 type connection struct { 8 // The websocket connection. 9 ws *websocket.Conn 10 11 // Buffered channel of outbound messages. 12 send chan string 13 } 14 15 func (c *connection) reader() { 16 for { 17 var message string 18 err := websocket.Message.Receive(c.ws, &message) 19 if err != nil { 20 break 21 } 22 } 23 24 c.ws.Close() 25 } 26 27 func (c *connection) writer() { 28 for message := range c.send { 29 err := websocket.Message.Send(c.ws, message) 30 if err != nil { 31 break 32 } 33 } 34 35 c.ws.Close() 36 }