У меня есть такое сообщение protobuf, как это
message ImgReply {
bytes data = 1;
}
И я хочу назначить его содержимое с помощью set_allocated
метода:
string *buf = new string();
GRPC_CALL_BACK_FUNCTION() {
.....
reply->set_allocated_data(buf);
return Status::OK;
}
Теперь каждый раз, когда функция grp c Если вызов, buf
будет выпущен автоматически. Я хотел бы использовать его так, чтобы мне не нужно было каждый раз перераспределять память. Я попытался вызвать метод reply->release_data();
, чтобы очистить поле data
, и клиент вообще не получил бы никаких данных. Так как же я могу использовать эту переменную buf
и не позволить protobuf удалить ее автоматически, пожалуйста?