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  }