Skip to content

Instantly share code, notes, and snippets.

@jdiez17
Last active August 29, 2015 14:00
Show Gist options
  • Save jdiez17/11093791 to your computer and use it in GitHub Desktop.
Save jdiez17/11093791 to your computer and use it in GitHub Desktop.
func(c *Connection) manage() {
buffer := make([]byte, 1000)
for {
select {
case out := <-c.outgoing:
c.socket.Write(out)
default:
n, err := c.socket.Read(buffer)
if err != nil {
panic(err) // do this later
}
if n > 0 {
for _, listener := range c.listeners {
// nonblocking send
select {
case listener <- buffer[:n]:
default:
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment