I've got it. Thanks a lot!

在2023年8月17日星期四 UTC+8 02:02:50<AJ Heller> 写道:

> Yes, you need to wait for the Write itself to complete before you can 
> attempt another Write. It isn't really an issue of efficiency, it's more 
> about the nature of a network connection, and a mechanism to signal to the 
> application that another write can proceed. See 
> https://grpc.github.io/grpc/cpp/classgrpc_1_1internal_1_1_async_writer_interface.html#a03f8532dfbd6c82c7d1fed5bc6e79d79
> .
>
> Examining this example's use of ClientAsyncReaderWriter may be helpful to 
> you as well 
> https://github.com/grpc/grpc/blob/master/test/cpp/qps/client_async.cc
>
> On Tuesday, August 15, 2023 at 7:26:02 PM UTC-7 黄舒心 wrote:
>
>> Hi,
>> I want to use ClientAsyncReaderWriter::Write() in a loop like this:
>> for(int i = 0; i < n; i++){
>>     Write(msg);
>> }
>> But I got this error: proto_buffer_writer.h:65]   assertion failed: 
>> !byte_buffer->Valid().
>>
>> Does that mean that I can't call Write() multiple times without waiting 
>> tag from CompletionQueue?
>>
>> If I must wait for a tag, I can only write one message, and wait until 
>> get the tag, then write the next message. I think it's very inefficient.
>>
>> So can I use ClientAsyncReaderWriter::Write() in a loop? If so, how to 
>> resolve the  !byte_buffer->Valid() problem? If not, is there any other 
>> method to call Write() multiple times without waiting for tag? Or any other 
>> method that can Write()  efficiently
>> ?
>>
>> Any advice is appreciated.
>>
>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/e3dd8291-d7ce-48d2-80b3-66267a2e04ffn%40googlegroups.com.

Reply via email to