mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-01 10:01:37 +00:00
Fix C++ gRPC test with streaming method (#4123)
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
1a89682251
commit
69dc71b5ed
@@ -107,6 +107,7 @@ grpc::string GetHeaderPrologue(grpc_generator::File *file, const Parameters & /*
|
|||||||
printer->Print(vars, "#define GRPC_$filename_identifier$__INCLUDED\n");
|
printer->Print(vars, "#define GRPC_$filename_identifier$__INCLUDED\n");
|
||||||
printer->Print(vars, "\n");
|
printer->Print(vars, "\n");
|
||||||
printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n");
|
printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n");
|
||||||
|
printer->Print(vars, file->additional_headers().c_str());
|
||||||
printer->Print(vars, "\n");
|
printer->Print(vars, "\n");
|
||||||
}
|
}
|
||||||
return output;
|
return output;
|
||||||
@@ -123,7 +124,6 @@ grpc::string GetHeaderIncludes(grpc_generator::File *file,
|
|||||||
static const char *headers_strs[] = {
|
static const char *headers_strs[] = {
|
||||||
"grpc++/impl/codegen/async_stream.h",
|
"grpc++/impl/codegen/async_stream.h",
|
||||||
"grpc++/impl/codegen/async_unary_call.h",
|
"grpc++/impl/codegen/async_unary_call.h",
|
||||||
"grpc++/impl/codegen/proto_utils.h",
|
|
||||||
"grpc++/impl/codegen/rpc_method.h",
|
"grpc++/impl/codegen/rpc_method.h",
|
||||||
"grpc++/impl/codegen/service_type.h",
|
"grpc++/impl/codegen/service_type.h",
|
||||||
"grpc++/impl/codegen/status.h",
|
"grpc++/impl/codegen/status.h",
|
||||||
@@ -840,8 +840,7 @@ grpc::string GetSourcePrologue(grpc_generator::File *file, const Parameters & /*
|
|||||||
printer->Print(vars, "// source: $filename$\n\n");
|
printer->Print(vars, "// source: $filename$\n\n");
|
||||||
printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n");
|
printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n");
|
||||||
printer->Print(vars, "#include \"$filename_base$$service_header_ext$\"\n");
|
printer->Print(vars, "#include \"$filename_base$$service_header_ext$\"\n");
|
||||||
printer->Print(vars, file->additional_headers().c_str());
|
printer->Print("\n");
|
||||||
printer->Print(vars, "\n");
|
|
||||||
}
|
}
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
@@ -868,6 +867,7 @@ grpc::string GetSourceIncludes(grpc_generator::File *file,
|
|||||||
PrintIncludes(printer.get(), headers, params);
|
PrintIncludes(printer.get(), headers, params);
|
||||||
|
|
||||||
if (!file->package().empty()) {
|
if (!file->package().empty()) {
|
||||||
|
printer->Print("\n");
|
||||||
std::vector<grpc::string> parts = file->package_parts();
|
std::vector<grpc::string> parts = file->package_parts();
|
||||||
|
|
||||||
for (auto part = parts.begin(); part != parts.end(); part++) {
|
for (auto part = parts.begin(); part != parts.end(); part++) {
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class ServiceImpl final : public MyGame::Example::MonsterStorage::Service {
|
|||||||
}
|
}
|
||||||
virtual ::grpc::Status Retrieve(::grpc::ServerContext *context,
|
virtual ::grpc::Status Retrieve(::grpc::ServerContext *context,
|
||||||
const flatbuffers::BufferRef<Stat> *request,
|
const flatbuffers::BufferRef<Stat> *request,
|
||||||
flatbuffers::BufferRef<Monster> *response)
|
::grpc::ServerWriter< flatbuffers::BufferRef<Monster>>* writer)
|
||||||
override {
|
override {
|
||||||
assert(false); // We're not actually using this RPC.
|
assert(false); // We're not actually using this RPC.
|
||||||
return grpc::Status::CANCELLED;
|
return grpc::Status::CANCELLED;
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ table Monster {
|
|||||||
|
|
||||||
rpc_service MonsterStorage {
|
rpc_service MonsterStorage {
|
||||||
Store(Monster):Stat (streaming: "none");
|
Store(Monster):Stat (streaming: "none");
|
||||||
Retrieve(Stat):Monster (idempotent);
|
Retrieve(Stat):Monster (streaming: "server", idempotent);
|
||||||
}
|
}
|
||||||
|
|
||||||
root_type Monster;
|
root_type Monster;
|
||||||
|
|||||||
@@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#include "monster_test_generated.h"
|
#include "monster_test_generated.h"
|
||||||
#include "monster_test.grpc.fb.h"
|
#include "monster_test.grpc.fb.h"
|
||||||
#include "flatbuffers/grpc.h"
|
|
||||||
|
|
||||||
#include <grpc++/impl/codegen/async_stream.h>
|
#include <grpc++/impl/codegen/async_stream.h>
|
||||||
#include <grpc++/impl/codegen/async_unary_call.h>
|
#include <grpc++/impl/codegen/async_unary_call.h>
|
||||||
#include <grpc++/impl/codegen/channel_interface.h>
|
#include <grpc++/impl/codegen/channel_interface.h>
|
||||||
@@ -29,7 +27,7 @@ std::unique_ptr< MonsterStorage::Stub> MonsterStorage::NewStub(const std::shared
|
|||||||
|
|
||||||
MonsterStorage::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel)
|
MonsterStorage::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel)
|
||||||
: channel_(channel) , rpcmethod_Store_(MonsterStorage_method_names[0], ::grpc::RpcMethod::NORMAL_RPC, channel)
|
: channel_(channel) , rpcmethod_Store_(MonsterStorage_method_names[0], ::grpc::RpcMethod::NORMAL_RPC, channel)
|
||||||
, rpcmethod_Retrieve_(MonsterStorage_method_names[1], ::grpc::RpcMethod::NORMAL_RPC, channel)
|
, rpcmethod_Retrieve_(MonsterStorage_method_names[1], ::grpc::RpcMethod::SERVER_STREAMING, channel)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
::grpc::Status MonsterStorage::Stub::Store(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, flatbuffers::BufferRef<Stat>* response) {
|
::grpc::Status MonsterStorage::Stub::Store(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, flatbuffers::BufferRef<Stat>* response) {
|
||||||
@@ -40,12 +38,12 @@ MonsterStorage::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& cha
|
|||||||
return new ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>(channel_.get(), cq, rpcmethod_Store_, context, request);
|
return new ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>(channel_.get(), cq, rpcmethod_Store_, context, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
::grpc::Status MonsterStorage::Stub::Retrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, flatbuffers::BufferRef<Monster>* response) {
|
::grpc::ClientReader< flatbuffers::BufferRef<Monster>>* MonsterStorage::Stub::RetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request) {
|
||||||
return ::grpc::BlockingUnaryCall(channel_.get(), rpcmethod_Retrieve_, context, request, response);
|
return new ::grpc::ClientReader< flatbuffers::BufferRef<Monster>>(channel_.get(), rpcmethod_Retrieve_, context, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Monster>>* MonsterStorage::Stub::AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq) {
|
::grpc::ClientAsyncReader< flatbuffers::BufferRef<Monster>>* MonsterStorage::Stub::AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) {
|
||||||
return new ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Monster>>(channel_.get(), cq, rpcmethod_Retrieve_, context, request);
|
return new ::grpc::ClientAsyncReader< flatbuffers::BufferRef<Monster>>(channel_.get(), cq, rpcmethod_Retrieve_, context, request, tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
MonsterStorage::Service::Service() {
|
MonsterStorage::Service::Service() {
|
||||||
@@ -57,8 +55,8 @@ MonsterStorage::Service::Service() {
|
|||||||
std::mem_fn(&MonsterStorage::Service::Store), this)));
|
std::mem_fn(&MonsterStorage::Service::Store), this)));
|
||||||
AddMethod(new ::grpc::RpcServiceMethod(
|
AddMethod(new ::grpc::RpcServiceMethod(
|
||||||
MonsterStorage_method_names[1],
|
MonsterStorage_method_names[1],
|
||||||
::grpc::RpcMethod::NORMAL_RPC,
|
::grpc::RpcMethod::SERVER_STREAMING,
|
||||||
new ::grpc::RpcMethodHandler< MonsterStorage::Service, flatbuffers::BufferRef<Stat>, flatbuffers::BufferRef<Monster>>(
|
new ::grpc::ServerStreamingHandler< MonsterStorage::Service, flatbuffers::BufferRef<Stat>, flatbuffers::BufferRef<Monster>>(
|
||||||
std::mem_fn(&MonsterStorage::Service::Retrieve), this)));
|
std::mem_fn(&MonsterStorage::Service::Retrieve), this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,10 +70,10 @@ MonsterStorage::Service::~Service() {
|
|||||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
::grpc::Status MonsterStorage::Service::Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, flatbuffers::BufferRef<Monster>* response) {
|
::grpc::Status MonsterStorage::Service::Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, ::grpc::ServerWriter< flatbuffers::BufferRef<Monster>>* writer) {
|
||||||
(void) context;
|
(void) context;
|
||||||
(void) request;
|
(void) request;
|
||||||
(void) response;
|
(void) writer;
|
||||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,11 @@
|
|||||||
#define GRPC_monster_5ftest__INCLUDED
|
#define GRPC_monster_5ftest__INCLUDED
|
||||||
|
|
||||||
#include "monster_test_generated.h"
|
#include "monster_test_generated.h"
|
||||||
|
#include "flatbuffers/grpc.h"
|
||||||
|
|
||||||
|
|
||||||
#include <grpc++/impl/codegen/async_stream.h>
|
#include <grpc++/impl/codegen/async_stream.h>
|
||||||
#include <grpc++/impl/codegen/async_unary_call.h>
|
#include <grpc++/impl/codegen/async_unary_call.h>
|
||||||
#include <grpc++/impl/codegen/proto_utils.h>
|
|
||||||
#include <grpc++/impl/codegen/rpc_method.h>
|
#include <grpc++/impl/codegen/rpc_method.h>
|
||||||
#include <grpc++/impl/codegen/service_type.h>
|
#include <grpc++/impl/codegen/service_type.h>
|
||||||
#include <grpc++/impl/codegen/status.h>
|
#include <grpc++/impl/codegen/status.h>
|
||||||
@@ -35,13 +36,16 @@ class MonsterStorage GRPC_FINAL {
|
|||||||
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Stat>>> AsyncStore(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) {
|
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Stat>>> AsyncStore(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) {
|
||||||
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Stat>>>(AsyncStoreRaw(context, request, cq));
|
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Stat>>>(AsyncStoreRaw(context, request, cq));
|
||||||
}
|
}
|
||||||
virtual ::grpc::Status Retrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, flatbuffers::BufferRef<Monster>* response) = 0;
|
std::unique_ptr< ::grpc::ClientReaderInterface< flatbuffers::BufferRef<Monster>>> Retrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request) {
|
||||||
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Monster>>> AsyncRetrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq) {
|
return std::unique_ptr< ::grpc::ClientReaderInterface< flatbuffers::BufferRef<Monster>>>(RetrieveRaw(context, request));
|
||||||
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Monster>>>(AsyncRetrieveRaw(context, request, cq));
|
}
|
||||||
|
std::unique_ptr< ::grpc::ClientAsyncReaderInterface< flatbuffers::BufferRef<Monster>>> AsyncRetrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) {
|
||||||
|
return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< flatbuffers::BufferRef<Monster>>>(AsyncRetrieveRaw(context, request, cq, tag));
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
virtual ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Stat>>* AsyncStoreRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) = 0;
|
virtual ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Stat>>* AsyncStoreRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) = 0;
|
||||||
virtual ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::BufferRef<Monster>>* AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq) = 0;
|
virtual ::grpc::ClientReaderInterface< flatbuffers::BufferRef<Monster>>* RetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request) = 0;
|
||||||
|
virtual ::grpc::ClientAsyncReaderInterface< flatbuffers::BufferRef<Monster>>* AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) = 0;
|
||||||
};
|
};
|
||||||
class Stub GRPC_FINAL : public StubInterface {
|
class Stub GRPC_FINAL : public StubInterface {
|
||||||
public:
|
public:
|
||||||
@@ -50,15 +54,18 @@ class MonsterStorage GRPC_FINAL {
|
|||||||
std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>> AsyncStore(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) {
|
std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>> AsyncStore(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) {
|
||||||
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>>(AsyncStoreRaw(context, request, cq));
|
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>>(AsyncStoreRaw(context, request, cq));
|
||||||
}
|
}
|
||||||
::grpc::Status Retrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, flatbuffers::BufferRef<Monster>* response) GRPC_OVERRIDE;
|
std::unique_ptr< ::grpc::ClientReader< flatbuffers::BufferRef<Monster>>> Retrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request) {
|
||||||
std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Monster>>> AsyncRetrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq) {
|
return std::unique_ptr< ::grpc::ClientReader< flatbuffers::BufferRef<Monster>>>(RetrieveRaw(context, request));
|
||||||
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Monster>>>(AsyncRetrieveRaw(context, request, cq));
|
}
|
||||||
|
std::unique_ptr< ::grpc::ClientAsyncReader< flatbuffers::BufferRef<Monster>>> AsyncRetrieve(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) {
|
||||||
|
return std::unique_ptr< ::grpc::ClientAsyncReader< flatbuffers::BufferRef<Monster>>>(AsyncRetrieveRaw(context, request, cq, tag));
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr< ::grpc::ChannelInterface> channel_;
|
std::shared_ptr< ::grpc::ChannelInterface> channel_;
|
||||||
::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>* AsyncStoreRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) GRPC_OVERRIDE;
|
::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Stat>>* AsyncStoreRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Monster>& request, ::grpc::CompletionQueue* cq) GRPC_OVERRIDE;
|
||||||
::grpc::ClientAsyncResponseReader< flatbuffers::BufferRef<Monster>>* AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq) GRPC_OVERRIDE;
|
::grpc::ClientReader< flatbuffers::BufferRef<Monster>>* RetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request) GRPC_OVERRIDE;
|
||||||
|
::grpc::ClientAsyncReader< flatbuffers::BufferRef<Monster>>* AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::BufferRef<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) GRPC_OVERRIDE;
|
||||||
const ::grpc::RpcMethod rpcmethod_Store_;
|
const ::grpc::RpcMethod rpcmethod_Store_;
|
||||||
const ::grpc::RpcMethod rpcmethod_Retrieve_;
|
const ::grpc::RpcMethod rpcmethod_Retrieve_;
|
||||||
};
|
};
|
||||||
@@ -69,7 +76,7 @@ class MonsterStorage GRPC_FINAL {
|
|||||||
Service();
|
Service();
|
||||||
virtual ~Service();
|
virtual ~Service();
|
||||||
virtual ::grpc::Status Store(::grpc::ServerContext* context, const flatbuffers::BufferRef<Monster>* request, flatbuffers::BufferRef<Stat>* response);
|
virtual ::grpc::Status Store(::grpc::ServerContext* context, const flatbuffers::BufferRef<Monster>* request, flatbuffers::BufferRef<Stat>* response);
|
||||||
virtual ::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, flatbuffers::BufferRef<Monster>* response);
|
virtual ::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, ::grpc::ServerWriter< flatbuffers::BufferRef<Monster>>* writer);
|
||||||
};
|
};
|
||||||
template <class BaseClass>
|
template <class BaseClass>
|
||||||
class WithAsyncMethod_Store : public BaseClass {
|
class WithAsyncMethod_Store : public BaseClass {
|
||||||
@@ -103,12 +110,12 @@ class MonsterStorage GRPC_FINAL {
|
|||||||
BaseClassMustBeDerivedFromService(this);
|
BaseClassMustBeDerivedFromService(this);
|
||||||
}
|
}
|
||||||
// disable synchronous version of this method
|
// disable synchronous version of this method
|
||||||
::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, flatbuffers::BufferRef<Monster>* response) GRPC_FINAL GRPC_OVERRIDE {
|
::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, ::grpc::ServerWriter< flatbuffers::BufferRef<Monster>>* writer) GRPC_FINAL GRPC_OVERRIDE {
|
||||||
abort();
|
abort();
|
||||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||||
}
|
}
|
||||||
void RequestRetrieve(::grpc::ServerContext* context, flatbuffers::BufferRef<Stat>* request, ::grpc::ServerAsyncResponseWriter< flatbuffers::BufferRef<Monster>>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
|
void RequestRetrieve(::grpc::ServerContext* context, flatbuffers::BufferRef<Stat>* request, ::grpc::ServerAsyncWriter< flatbuffers::BufferRef<Monster>>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
|
||||||
::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
|
::grpc::Service::RequestAsyncServerStreaming(1, context, request, writer, new_call_cq, notification_cq, tag);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
typedef WithAsyncMethod_Store< WithAsyncMethod_Retrieve< Service > > AsyncService;
|
typedef WithAsyncMethod_Store< WithAsyncMethod_Retrieve< Service > > AsyncService;
|
||||||
@@ -141,7 +148,7 @@ class MonsterStorage GRPC_FINAL {
|
|||||||
BaseClassMustBeDerivedFromService(this);
|
BaseClassMustBeDerivedFromService(this);
|
||||||
}
|
}
|
||||||
// disable synchronous version of this method
|
// disable synchronous version of this method
|
||||||
::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, flatbuffers::BufferRef<Monster>* response) GRPC_FINAL GRPC_OVERRIDE {
|
::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::BufferRef<Stat>* request, ::grpc::ServerWriter< flatbuffers::BufferRef<Monster>>* writer) GRPC_FINAL GRPC_OVERRIDE {
|
||||||
abort();
|
abort();
|
||||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user