Hello
What is the difference between method's
bool CompletionQueue::Next(void** tag, bool* ok)
return value and 2nd parameter's value?

Reading docs, it says:
/// \param ok[out] true if read a regular event, false otherwise.
/// \return true if read a regular event, false if the queue is shutting 
down

Following the example:
while (true) {
     // Block waiting to read the next event from the completion queue. The
     // event is uniquely identified by its tag, which in this case is the
     // memory address of a CallData instance.
     // The return value of Next should always be checked. This return value
     // tells us whether there is any kind of event or cq_ is shutting down.
     GPR_ASSERT(cq_->Next(&tag, &ok));
     GPR_ASSERT(ok);
     static_cast<CallData*>(tag)->Proceed();
   }
it breaks whether the return value or ok parameter is false.
But in the production environment maybe I can break the loop when the queue 
is shutting down (based on return value) and continue when ok parameter's 
value is false?
What is the most preferable approach? Should I consider both of them as the 
same and break on false as in the example?

--
regards
Przemysław Sobala

-- 
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/8c3a44c4-8498-4230-80a2-91003446942f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to