Return stream id to the pool in case of a write error.
@@ -16,3 +16,4 @@ Chris Bannister <c.bannister@gmail.com>
Maxim Bublis <b@codemonkey.ru>
Alex Zorin <git@zor.io>
Kasper Middelboe Petersen <me@phant.dk>
+Harpreet Sawhney <harpreet.sawhney@gmail.com>
@@ -272,6 +272,7 @@ func (c *Conn) exec(op operation, trace Tracer) (interface{}, error) {
if n, err := c.conn.Write(req); err != nil {
c.conn.Close()
+ c.uniq <- id
if n > 0 {
return nil, ErrProtocol
}