Using:
protobuf-3.0.0
grpc release 0.12
Looking at the helloworld greeter async example. I'm able to build and run the client and server example.
My doubt is around unblocking the client side. If I modify the server and put a sleep (of 10sec) at the processing
side of the RPC ( in the status_ == PROCESS ) the client side blocks on the Next api call. I'm need to make
client side unblock (ie just make the RPC call and ignore the reply / ie. the block on Next ).
Few things I tried:
1. Removed the Finish, Next (attempt to ignore the reply )
I observe an error on the client side: 1 metadata elements were leaked, and the server never receives anything.
2. Attempted to move the Next into a thread.
At the time of connection, I spawned off a thread that sits in a loop on the Next. cq is global
void *got_tag;
bool ok = false;
while (1) {
cq.Next(&got_tag,&ok);
}
Observation is same as #1 ( server doesn't get anything and client gives leaked error ), I also tried spawning thread
after the RPC call (ie where Next was originally getting called ) same issue.
Wondering if I'm missing something ? My requirements is make the async RPC call and have client side completely unblocked
to continue processing other things / requests.
thanks.