Hi,

Thank you for your reply. I am working on a minimal example to reproduce 
this. In the meanwhile, I provide some further clarifications below.

Is each client an independent ClientConn, or one stream from the same 
> ClientConn (I assume independent ClientConn because you said it maintains 
> its own connection).
>

Every client maintains its own ClientConn and a corresponding stream. 
Here's my Client struct (grpc-related fields bolded). Client struct 
implements the grpc client stub. Several of such clients are instantiated 
concurrently, each making starting its own RPC. 

type Client struct {
id      int32
*conn    *grpc.ClientConn*
*protocolClient  *pb.ProtocolClient*
*stream  pb.Protocol_RunClient // this is obtained 
via protocolClient.Run(context.Background())*
schema  pb.SchemaType
variant pb.SchemaVariant
handler *ClientHandler
}

 

> Can you provide more details about what's done in the RPC service handler? 
> How do you deal with the stream when RPC finishes?
>

 I have found that 
 

> If you could come up with a small example to reproduce this, it would also 
> be very helpful.
>
 
I will provide such an example shortly. 

In the meanwhile, I did some further debugging 

-- 
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 [email protected].
To post to this group, send email to [email protected].
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/7d81d630-4b0b-43f8-a8f4-3485e28a2925%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to