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.