Add client side context.Done support
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
94dde38880
commit
d77f111e2e
@ -110,12 +110,16 @@ func (c *Client) dispatch(ctx context.Context, req *Request, resp *Response) err
|
|||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return ctx.Err()
|
||||||
case c.calls <- call:
|
case c.calls <- call:
|
||||||
case <-c.done:
|
case <-c.done:
|
||||||
return c.err
|
return c.err
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return ctx.Err()
|
||||||
case err := <-errs:
|
case err := <-errs:
|
||||||
return filterCloseErr(err)
|
return filterCloseErr(err)
|
||||||
case <-c.done:
|
case <-c.done:
|
||||||
|
Loading…
Reference in New Issue
Block a user