diff --git a/conn.go b/conn.go index c32eca6..2ae1831 100644 --- a/conn.go +++ b/conn.go @@ -150,35 +150,24 @@ type decodedEvent struct { } func (c *ircConn) decode() <-chan decodedEvent { - ch := make(chan decodedEvent) + ch := make(chan decodedEvent, 1) go func() { defer close(ch) line, err := c.io.ReadString(delim) if err != nil { - select { - case ch <- decodedEvent{err: err}: - default: - } - + ch <- decodedEvent{err: err} return } event := ParseEvent(line) if event == nil { - select { - case ch <- decodedEvent{err: ErrParseEvent{Line: line}}: - default: - } - + ch <- decodedEvent{err: ErrParseEvent{Line: line}} return } - select { - case ch <- decodedEvent{event: event}: - default: - } + ch <- decodedEvent{event: event} }() return ch