I have a grpc service written in C# which has 2 calls like Start and Stop. When a client calls Start (this call takes much time) and then Stop, server processes requests synchronously while grpc has started 4 threads.
2016-12-01 18:55:14,199,INFO,grpc 2 (cq 2),0 parsing.c:659: HTTP:17:HDR:SVR: :path: /Service/Start
2016-12-01 18:55:14,303 [grpc 2 (cq 2)] DEBUG [RPC:27] Start
2016-12-01 18:55:14,822,INFO,grpc 0 (cq 0),0 parsing.c:659: HTTP:19:HDR:SVR: :path: /Service/Stop
2016-12-01 18:55:33,661 [grpc 2 (cq 2)] DEBUG [RPC:27] Stop
Could you please help me to understand if it functions as designed or maybe I have missed any additional settings?
It functions as designed and you have to use async/await in sync calls to avoid blocking completion queue's thread.