On the client, the CloseSend method is "half-closing" the stream. So it
closes the request/upload half of the stream. The stream remains open until
the server closes the other half: the response/download part of the stream.
Cancelling the stream also closes it (as would the channel being
disconnected or the call timing out).



----

Josh Humphries

FullStory <https://www.fullstory.com/>  |  Atlanta, GA

Software Engineer

j...@fullstory.com

On Mon, Feb 6, 2017 at 10:29 AM, Michael Bond <kemperbond...@gmail.com>
wrote:

> Hey, trying to make sure I'm doing this correctly.
>
> Right now I'm having issues with closing streams started with a context
> that is passed around and exists for quite awhile.
>
> In this example "ctx" is passed around to many go routines, I want to keep
> "ctx" around but passing it to "grpcStream" seems to keep the stream from
> actually closing. What I did below fixed the issue but I wanted to know if
> it is needed to pass a child context and cancel it for the stream to
> actually close. Is CloseSend() not sufficient if the context is still alive?
>
> log.Println("stream starting")
> streamCtx, cancel := context.WithCancel(ctx)
> defer cancel()
> stream, err := grpcStream(streamCtx, otherArgs)
> if err != nil {
>     errCh <- err
>     return
> }
> defer stream.CloseSend()
> defer log.Println("closing stream")
>
> Thanks!
>
> --
> You received this message because you are subscribed to the Google Groups "
> grpc.io" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to grpc-io+unsubscr...@googlegroups.com.
> To post to this group, send email to grpc-io@googlegroups.com.
> Visit this group at https://groups.google.com/group/grpc-io.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/grpc-io/85470940-69e3-4f4c-aed2-31a3242841a3%40googlegroups.com
> <https://groups.google.com/d/msgid/grpc-io/85470940-69e3-4f4c-aed2-31a3242841a3%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAO78j%2BJaF43Extu0gWFyq%2BXOZXPz6jT9Qp4bwFDqJGEsd%3Dx92w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to