mirror of https://github.com/grpc/grpc.git
parent
09fce0fb39
commit
d95693724c
5 changed files with 1221 additions and 0 deletions
@ -0,0 +1,47 @@ |
||||
#
|
||||
# Copyright 2015, Google Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following disclaimer
|
||||
# in the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# * Neither the name of Google Inc. nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
CC=g++
|
||||
CCFLAGS=-I/usr/local/include -std=c++11
|
||||
LDFLAGS=-L/usr/local/lib -lgrpc -lgrpc++ -lprotobuf -ldl
|
||||
|
||||
all: greeter_client greeter_server |
||||
|
||||
greeter_client: helloworld.pb.cc greeter_client.cc |
||||
$(CC) $(CCFLAGS) greeter_client.cc helloworld.pb.cc $(LDFLAGS) -o greeter_client.out
|
||||
|
||||
|
||||
greeter_server: helloworld.pb.cc greeter_server.cc |
||||
$(CC) $(CCFLAGS) greeter_server.cc helloworld.pb.cc $(LDFLAGS) -o greeter_server.out
|
||||
|
||||
clean: |
||||
rm *.out
|
||||
|
@ -0,0 +1,91 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2015, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include <iostream> |
||||
#include <memory> |
||||
#include <string> |
||||
|
||||
#include <grpc/grpc.h> |
||||
#include <grpc++/channel_arguments.h> |
||||
#include <grpc++/channel_interface.h> |
||||
#include <grpc++/client_context.h> |
||||
#include <grpc++/create_channel.h> |
||||
#include <grpc++/status.h> |
||||
#include "helloworld.pb.h" |
||||
|
||||
using grpc::ChannelArguments; |
||||
using grpc::ChannelInterface; |
||||
using grpc::ClientContext; |
||||
using grpc::Status; |
||||
using helloworld::HelloRequest; |
||||
using helloworld::HelloReply; |
||||
using helloworld::Greeter; |
||||
|
||||
class GreeterClient { |
||||
public: |
||||
GreeterClient(std::shared_ptr<ChannelInterface> channel) |
||||
: stub_(Greeter::NewStub(channel)) {} |
||||
|
||||
std::string SayHello(const std::string& user) { |
||||
HelloRequest request; |
||||
request.set_name(user); |
||||
HelloReply reply; |
||||
ClientContext context; |
||||
|
||||
Status status = stub_->sayHello(&context, request, &reply); |
||||
if (status.IsOk()) { |
||||
return reply.message(); |
||||
} else { |
||||
return "Rpc failed"; |
||||
} |
||||
} |
||||
|
||||
void Shutdown() { stub_.reset(); } |
||||
|
||||
private: |
||||
std::unique_ptr<Greeter::Stub> stub_; |
||||
}; |
||||
|
||||
int main(int argc, char** argv) { |
||||
grpc_init(); |
||||
|
||||
GreeterClient greeter( |
||||
grpc::CreateChannel("localhost:50051", ChannelArguments())); |
||||
std::string user("world"); |
||||
std::string reply = greeter.SayHello(user); |
||||
std::cout << "Greeter received: " << reply << std::endl; |
||||
|
||||
greeter.Shutdown(); |
||||
|
||||
grpc_shutdown(); |
||||
} |
@ -0,0 +1,84 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2015, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include <iostream> |
||||
#include <memory> |
||||
#include <string> |
||||
#include <thread> |
||||
|
||||
#include <grpc/grpc.h> |
||||
#include <grpc++/server.h> |
||||
#include <grpc++/server_builder.h> |
||||
#include <grpc++/server_context.h> |
||||
#include <grpc++/status.h> |
||||
#include "helloworld.pb.h" |
||||
|
||||
using grpc::Server; |
||||
using grpc::ServerBuilder; |
||||
using grpc::ServerContext; |
||||
using grpc::Status; |
||||
using helloworld::HelloRequest; |
||||
using helloworld::HelloReply; |
||||
using helloworld::Greeter; |
||||
|
||||
class GreeterServiceImpl final : public Greeter::Service { |
||||
Status sayHello(ServerContext* context, const HelloRequest* request, |
||||
HelloReply* reply) override { |
||||
std::string prefix("Hello "); |
||||
reply->set_message(prefix + request->name()); |
||||
return Status::OK; |
||||
} |
||||
}; |
||||
|
||||
void RunServer() { |
||||
std::string server_address("0.0.0.0:50051"); |
||||
GreeterServiceImpl service; |
||||
|
||||
ServerBuilder builder; |
||||
builder.AddPort(server_address); |
||||
builder.RegisterService(&service); |
||||
std::unique_ptr<Server> server(builder.BuildAndStart()); |
||||
std::cout << "Server listening on " << server_address << std::endl; |
||||
while (true) { |
||||
std::this_thread::sleep_for(std::chrono::seconds(5)); |
||||
} |
||||
} |
||||
|
||||
int main(int argc, char** argv) { |
||||
grpc_init(); |
||||
|
||||
RunServer(); |
||||
|
||||
grpc_shutdown(); |
||||
return 0; |
||||
} |
@ -0,0 +1,640 @@ |
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: helloworld.proto
|
||||
|
||||
#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION |
||||
#include "helloworld.pb.h" |
||||
|
||||
#include <algorithm> |
||||
|
||||
#include <google/protobuf/stubs/common.h> |
||||
#include <google/protobuf/stubs/once.h> |
||||
#include <google/protobuf/io/coded_stream.h> |
||||
#include <google/protobuf/wire_format_lite_inl.h> |
||||
#include <google/protobuf/descriptor.h> |
||||
#include <google/protobuf/generated_message_reflection.h> |
||||
#include <google/protobuf/reflection_ops.h> |
||||
#include <google/protobuf/wire_format.h> |
||||
#include <grpc++/async_unary_call.h> |
||||
#include <grpc++/channel_interface.h> |
||||
#include <grpc++/impl/client_unary_call.h> |
||||
#include <grpc++/impl/rpc_method.h> |
||||
#include <grpc++/impl/rpc_service_method.h> |
||||
#include <grpc++/impl/service_type.h> |
||||
#include <grpc++/stream.h> |
||||
// @@protoc_insertion_point(includes)
|
||||
|
||||
namespace helloworld { |
||||
|
||||
namespace { |
||||
|
||||
const ::google::protobuf::Descriptor* HelloRequest_descriptor_ = NULL; |
||||
const ::google::protobuf::internal::GeneratedMessageReflection* |
||||
HelloRequest_reflection_ = NULL; |
||||
const ::google::protobuf::Descriptor* HelloReply_descriptor_ = NULL; |
||||
const ::google::protobuf::internal::GeneratedMessageReflection* |
||||
HelloReply_reflection_ = NULL; |
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
void protobuf_AssignDesc_helloworld_2eproto() { |
||||
protobuf_AddDesc_helloworld_2eproto(); |
||||
const ::google::protobuf::FileDescriptor* file = |
||||
::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( |
||||
"helloworld.proto"); |
||||
GOOGLE_CHECK(file != NULL); |
||||
HelloRequest_descriptor_ = file->message_type(0); |
||||
static const int HelloRequest_offsets_[1] = { |
||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HelloRequest, name_), |
||||
}; |
||||
HelloRequest_reflection_ = |
||||
::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( |
||||
HelloRequest_descriptor_, |
||||
HelloRequest::default_instance_, |
||||
HelloRequest_offsets_, |
||||
-1, |
||||
-1, |
||||
-1, |
||||
sizeof(HelloRequest), |
||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HelloRequest, _internal_metadata_), |
||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HelloRequest, _is_default_instance_)); |
||||
HelloReply_descriptor_ = file->message_type(1); |
||||
static const int HelloReply_offsets_[1] = { |
||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HelloReply, message_), |
||||
}; |
||||
HelloReply_reflection_ = |
||||
::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( |
||||
HelloReply_descriptor_, |
||||
HelloReply::default_instance_, |
||||
HelloReply_offsets_, |
||||
-1, |
||||
-1, |
||||
-1, |
||||
sizeof(HelloReply), |
||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HelloReply, _internal_metadata_), |
||||
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HelloReply, _is_default_instance_)); |
||||
} |
||||
|
||||
namespace { |
||||
|
||||
GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_); |
||||
inline void protobuf_AssignDescriptorsOnce() { |
||||
::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, |
||||
&protobuf_AssignDesc_helloworld_2eproto); |
||||
} |
||||
|
||||
void protobuf_RegisterTypes(const ::std::string&) { |
||||
protobuf_AssignDescriptorsOnce(); |
||||
::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( |
||||
HelloRequest_descriptor_, &HelloRequest::default_instance()); |
||||
::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( |
||||
HelloReply_descriptor_, &HelloReply::default_instance()); |
||||
} |
||||
|
||||
} // namespace
|
||||
|
||||
void protobuf_ShutdownFile_helloworld_2eproto() { |
||||
delete HelloRequest::default_instance_; |
||||
delete HelloRequest_reflection_; |
||||
delete HelloReply::default_instance_; |
||||
delete HelloReply_reflection_; |
||||
} |
||||
|
||||
void protobuf_AddDesc_helloworld_2eproto() { |
||||
static bool already_here = false; |
||||
if (already_here) return; |
||||
already_here = true; |
||||
GOOGLE_PROTOBUF_VERIFY_VERSION; |
||||
|
||||
::google::protobuf::DescriptorPool::InternalAddGeneratedFile( |
||||
"\n\020helloworld.proto\022\nhelloworld\"\034\n\014HelloR" |
||||
"equest\022\014\n\004name\030\001 \001(\t\"\035\n\nHelloReply\022\017\n\007me" |
||||
"ssage\030\001 \001(\t2I\n\007Greeter\022>\n\010sayHello\022\030.hel" |
||||
"loworld.HelloRequest\032\026.helloworld.HelloR" |
||||
"eply\"\000B\t\n\007ex.grpcb\006proto3", 185); |
||||
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( |
||||
"helloworld.proto", &protobuf_RegisterTypes); |
||||
HelloRequest::default_instance_ = new HelloRequest(); |
||||
HelloReply::default_instance_ = new HelloReply(); |
||||
HelloRequest::default_instance_->InitAsDefaultInstance(); |
||||
HelloReply::default_instance_->InitAsDefaultInstance(); |
||||
::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_helloworld_2eproto); |
||||
} |
||||
|
||||
// Force AddDescriptors() to be called at static initialization time.
|
||||
struct StaticDescriptorInitializer_helloworld_2eproto { |
||||
StaticDescriptorInitializer_helloworld_2eproto() { |
||||
protobuf_AddDesc_helloworld_2eproto(); |
||||
} |
||||
} static_descriptor_initializer_helloworld_2eproto_; |
||||
|
||||
namespace { |
||||
|
||||
static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD; |
||||
static void MergeFromFail(int line) { |
||||
GOOGLE_CHECK(false) << __FILE__ << ":" << line; |
||||
} |
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
// ===================================================================
|
||||
|
||||
#ifndef _MSC_VER |
||||
const int HelloRequest::kNameFieldNumber; |
||||
#endif // !_MSC_VER
|
||||
|
||||
HelloRequest::HelloRequest() |
||||
: ::google::protobuf::Message() , _internal_metadata_(NULL) { |
||||
SharedCtor(); |
||||
// @@protoc_insertion_point(constructor:helloworld.HelloRequest)
|
||||
} |
||||
|
||||
void HelloRequest::InitAsDefaultInstance() { |
||||
_is_default_instance_ = true; |
||||
} |
||||
|
||||
HelloRequest::HelloRequest(const HelloRequest& from) |
||||
: ::google::protobuf::Message(), |
||||
_internal_metadata_(NULL) { |
||||
SharedCtor(); |
||||
MergeFrom(from); |
||||
// @@protoc_insertion_point(copy_constructor:helloworld.HelloRequest)
|
||||
} |
||||
|
||||
void HelloRequest::SharedCtor() { |
||||
_is_default_instance_ = false; |
||||
::google::protobuf::internal::GetEmptyString(); |
||||
_cached_size_ = 0; |
||||
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
|
||||
HelloRequest::~HelloRequest() { |
||||
// @@protoc_insertion_point(destructor:helloworld.HelloRequest)
|
||||
SharedDtor(); |
||||
} |
||||
|
||||
void HelloRequest::SharedDtor() { |
||||
name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
if (this != default_instance_) { |
||||
} |
||||
} |
||||
|
||||
void HelloRequest::SetCachedSize(int size) const { |
||||
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); |
||||
_cached_size_ = size; |
||||
GOOGLE_SAFE_CONCURRENT_WRITES_END(); |
||||
} |
||||
const ::google::protobuf::Descriptor* HelloRequest::descriptor() { |
||||
protobuf_AssignDescriptorsOnce(); |
||||
return HelloRequest_descriptor_; |
||||
} |
||||
|
||||
const HelloRequest& HelloRequest::default_instance() { |
||||
if (default_instance_ == NULL) protobuf_AddDesc_helloworld_2eproto(); |
||||
return *default_instance_; |
||||
} |
||||
|
||||
HelloRequest* HelloRequest::default_instance_ = NULL; |
||||
|
||||
HelloRequest* HelloRequest::New(::google::protobuf::Arena* arena) const { |
||||
HelloRequest* n = new HelloRequest; |
||||
if (arena != NULL) { |
||||
arena->Own(n); |
||||
} |
||||
return n; |
||||
} |
||||
|
||||
void HelloRequest::Clear() { |
||||
name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
|
||||
bool HelloRequest::MergePartialFromCodedStream( |
||||
::google::protobuf::io::CodedInputStream* input) { |
||||
#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure |
||||
::google::protobuf::uint32 tag; |
||||
// @@protoc_insertion_point(parse_start:helloworld.HelloRequest)
|
||||
for (;;) { |
||||
::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); |
||||
tag = p.first; |
||||
if (!p.second) goto handle_unusual; |
||||
switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { |
||||
// optional string name = 1;
|
||||
case 1: { |
||||
if (tag == 10) { |
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString( |
||||
input, this->mutable_name())); |
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( |
||||
this->name().data(), this->name().length(), |
||||
::google::protobuf::internal::WireFormat::PARSE, |
||||
"helloworld.HelloRequest.name"); |
||||
} else { |
||||
goto handle_unusual; |
||||
} |
||||
if (input->ExpectAtEnd()) goto success; |
||||
break; |
||||
} |
||||
|
||||
default: { |
||||
handle_unusual: |
||||
if (tag == 0 || |
||||
::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == |
||||
::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { |
||||
goto success; |
||||
} |
||||
DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag)); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
success: |
||||
// @@protoc_insertion_point(parse_success:helloworld.HelloRequest)
|
||||
return true; |
||||
failure: |
||||
// @@protoc_insertion_point(parse_failure:helloworld.HelloRequest)
|
||||
return false; |
||||
#undef DO_ |
||||
} |
||||
|
||||
void HelloRequest::SerializeWithCachedSizes( |
||||
::google::protobuf::io::CodedOutputStream* output) const { |
||||
// @@protoc_insertion_point(serialize_start:helloworld.HelloRequest)
|
||||
// optional string name = 1;
|
||||
if (this->name().size() > 0) { |
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( |
||||
this->name().data(), this->name().length(), |
||||
::google::protobuf::internal::WireFormat::SERIALIZE, |
||||
"helloworld.HelloRequest.name"); |
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( |
||||
1, this->name(), output); |
||||
} |
||||
|
||||
// @@protoc_insertion_point(serialize_end:helloworld.HelloRequest)
|
||||
} |
||||
|
||||
::google::protobuf::uint8* HelloRequest::SerializeWithCachedSizesToArray( |
||||
::google::protobuf::uint8* target) const { |
||||
// @@protoc_insertion_point(serialize_to_array_start:helloworld.HelloRequest)
|
||||
// optional string name = 1;
|
||||
if (this->name().size() > 0) { |
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( |
||||
this->name().data(), this->name().length(), |
||||
::google::protobuf::internal::WireFormat::SERIALIZE, |
||||
"helloworld.HelloRequest.name"); |
||||
target = |
||||
::google::protobuf::internal::WireFormatLite::WriteStringToArray( |
||||
1, this->name(), target); |
||||
} |
||||
|
||||
// @@protoc_insertion_point(serialize_to_array_end:helloworld.HelloRequest)
|
||||
return target; |
||||
} |
||||
|
||||
int HelloRequest::ByteSize() const { |
||||
int total_size = 0; |
||||
|
||||
// optional string name = 1;
|
||||
if (this->name().size() > 0) { |
||||
total_size += 1 + |
||||
::google::protobuf::internal::WireFormatLite::StringSize( |
||||
this->name()); |
||||
} |
||||
|
||||
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); |
||||
_cached_size_ = total_size; |
||||
GOOGLE_SAFE_CONCURRENT_WRITES_END(); |
||||
return total_size; |
||||
} |
||||
|
||||
void HelloRequest::MergeFrom(const ::google::protobuf::Message& from) { |
||||
if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); |
||||
const HelloRequest* source = |
||||
::google::protobuf::internal::dynamic_cast_if_available<const HelloRequest*>( |
||||
&from); |
||||
if (source == NULL) { |
||||
::google::protobuf::internal::ReflectionOps::Merge(from, this); |
||||
} else { |
||||
MergeFrom(*source); |
||||
} |
||||
} |
||||
|
||||
void HelloRequest::MergeFrom(const HelloRequest& from) { |
||||
if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); |
||||
if (from.name().size() > 0) { |
||||
|
||||
name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); |
||||
} |
||||
} |
||||
|
||||
void HelloRequest::CopyFrom(const ::google::protobuf::Message& from) { |
||||
if (&from == this) return; |
||||
Clear(); |
||||
MergeFrom(from); |
||||
} |
||||
|
||||
void HelloRequest::CopyFrom(const HelloRequest& from) { |
||||
if (&from == this) return; |
||||
Clear(); |
||||
MergeFrom(from); |
||||
} |
||||
|
||||
bool HelloRequest::IsInitialized() const { |
||||
|
||||
return true; |
||||
} |
||||
|
||||
void HelloRequest::Swap(HelloRequest* other) { |
||||
if (other == this) return; |
||||
InternalSwap(other); |
||||
} |
||||
void HelloRequest::InternalSwap(HelloRequest* other) { |
||||
name_.Swap(&other->name_); |
||||
_internal_metadata_.Swap(&other->_internal_metadata_); |
||||
std::swap(_cached_size_, other->_cached_size_); |
||||
} |
||||
|
||||
::google::protobuf::Metadata HelloRequest::GetMetadata() const { |
||||
protobuf_AssignDescriptorsOnce(); |
||||
::google::protobuf::Metadata metadata; |
||||
metadata.descriptor = HelloRequest_descriptor_; |
||||
metadata.reflection = HelloRequest_reflection_; |
||||
return metadata; |
||||
} |
||||
|
||||
|
||||
// ===================================================================
|
||||
|
||||
#ifndef _MSC_VER |
||||
const int HelloReply::kMessageFieldNumber; |
||||
#endif // !_MSC_VER
|
||||
|
||||
HelloReply::HelloReply() |
||||
: ::google::protobuf::Message() , _internal_metadata_(NULL) { |
||||
SharedCtor(); |
||||
// @@protoc_insertion_point(constructor:helloworld.HelloReply)
|
||||
} |
||||
|
||||
void HelloReply::InitAsDefaultInstance() { |
||||
_is_default_instance_ = true; |
||||
} |
||||
|
||||
HelloReply::HelloReply(const HelloReply& from) |
||||
: ::google::protobuf::Message(), |
||||
_internal_metadata_(NULL) { |
||||
SharedCtor(); |
||||
MergeFrom(from); |
||||
// @@protoc_insertion_point(copy_constructor:helloworld.HelloReply)
|
||||
} |
||||
|
||||
void HelloReply::SharedCtor() { |
||||
_is_default_instance_ = false; |
||||
::google::protobuf::internal::GetEmptyString(); |
||||
_cached_size_ = 0; |
||||
message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
|
||||
HelloReply::~HelloReply() { |
||||
// @@protoc_insertion_point(destructor:helloworld.HelloReply)
|
||||
SharedDtor(); |
||||
} |
||||
|
||||
void HelloReply::SharedDtor() { |
||||
message_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
if (this != default_instance_) { |
||||
} |
||||
} |
||||
|
||||
void HelloReply::SetCachedSize(int size) const { |
||||
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); |
||||
_cached_size_ = size; |
||||
GOOGLE_SAFE_CONCURRENT_WRITES_END(); |
||||
} |
||||
const ::google::protobuf::Descriptor* HelloReply::descriptor() { |
||||
protobuf_AssignDescriptorsOnce(); |
||||
return HelloReply_descriptor_; |
||||
} |
||||
|
||||
const HelloReply& HelloReply::default_instance() { |
||||
if (default_instance_ == NULL) protobuf_AddDesc_helloworld_2eproto(); |
||||
return *default_instance_; |
||||
} |
||||
|
||||
HelloReply* HelloReply::default_instance_ = NULL; |
||||
|
||||
HelloReply* HelloReply::New(::google::protobuf::Arena* arena) const { |
||||
HelloReply* n = new HelloReply; |
||||
if (arena != NULL) { |
||||
arena->Own(n); |
||||
} |
||||
return n; |
||||
} |
||||
|
||||
void HelloReply::Clear() { |
||||
message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
|
||||
bool HelloReply::MergePartialFromCodedStream( |
||||
::google::protobuf::io::CodedInputStream* input) { |
||||
#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure |
||||
::google::protobuf::uint32 tag; |
||||
// @@protoc_insertion_point(parse_start:helloworld.HelloReply)
|
||||
for (;;) { |
||||
::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); |
||||
tag = p.first; |
||||
if (!p.second) goto handle_unusual; |
||||
switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { |
||||
// optional string message = 1;
|
||||
case 1: { |
||||
if (tag == 10) { |
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString( |
||||
input, this->mutable_message())); |
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( |
||||
this->message().data(), this->message().length(), |
||||
::google::protobuf::internal::WireFormat::PARSE, |
||||
"helloworld.HelloReply.message"); |
||||
} else { |
||||
goto handle_unusual; |
||||
} |
||||
if (input->ExpectAtEnd()) goto success; |
||||
break; |
||||
} |
||||
|
||||
default: { |
||||
handle_unusual: |
||||
if (tag == 0 || |
||||
::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == |
||||
::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { |
||||
goto success; |
||||
} |
||||
DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag)); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
success: |
||||
// @@protoc_insertion_point(parse_success:helloworld.HelloReply)
|
||||
return true; |
||||
failure: |
||||
// @@protoc_insertion_point(parse_failure:helloworld.HelloReply)
|
||||
return false; |
||||
#undef DO_ |
||||
} |
||||
|
||||
void HelloReply::SerializeWithCachedSizes( |
||||
::google::protobuf::io::CodedOutputStream* output) const { |
||||
// @@protoc_insertion_point(serialize_start:helloworld.HelloReply)
|
||||
// optional string message = 1;
|
||||
if (this->message().size() > 0) { |
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( |
||||
this->message().data(), this->message().length(), |
||||
::google::protobuf::internal::WireFormat::SERIALIZE, |
||||
"helloworld.HelloReply.message"); |
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( |
||||
1, this->message(), output); |
||||
} |
||||
|
||||
// @@protoc_insertion_point(serialize_end:helloworld.HelloReply)
|
||||
} |
||||
|
||||
::google::protobuf::uint8* HelloReply::SerializeWithCachedSizesToArray( |
||||
::google::protobuf::uint8* target) const { |
||||
// @@protoc_insertion_point(serialize_to_array_start:helloworld.HelloReply)
|
||||
// optional string message = 1;
|
||||
if (this->message().size() > 0) { |
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( |
||||
this->message().data(), this->message().length(), |
||||
::google::protobuf::internal::WireFormat::SERIALIZE, |
||||
"helloworld.HelloReply.message"); |
||||
target = |
||||
::google::protobuf::internal::WireFormatLite::WriteStringToArray( |
||||
1, this->message(), target); |
||||
} |
||||
|
||||
// @@protoc_insertion_point(serialize_to_array_end:helloworld.HelloReply)
|
||||
return target; |
||||
} |
||||
|
||||
int HelloReply::ByteSize() const { |
||||
int total_size = 0; |
||||
|
||||
// optional string message = 1;
|
||||
if (this->message().size() > 0) { |
||||
total_size += 1 + |
||||
::google::protobuf::internal::WireFormatLite::StringSize( |
||||
this->message()); |
||||
} |
||||
|
||||
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); |
||||
_cached_size_ = total_size; |
||||
GOOGLE_SAFE_CONCURRENT_WRITES_END(); |
||||
return total_size; |
||||
} |
||||
|
||||
void HelloReply::MergeFrom(const ::google::protobuf::Message& from) { |
||||
if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); |
||||
const HelloReply* source = |
||||
::google::protobuf::internal::dynamic_cast_if_available<const HelloReply*>( |
||||
&from); |
||||
if (source == NULL) { |
||||
::google::protobuf::internal::ReflectionOps::Merge(from, this); |
||||
} else { |
||||
MergeFrom(*source); |
||||
} |
||||
} |
||||
|
||||
void HelloReply::MergeFrom(const HelloReply& from) { |
||||
if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); |
||||
if (from.message().size() > 0) { |
||||
|
||||
message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_); |
||||
} |
||||
} |
||||
|
||||
void HelloReply::CopyFrom(const ::google::protobuf::Message& from) { |
||||
if (&from == this) return; |
||||
Clear(); |
||||
MergeFrom(from); |
||||
} |
||||
|
||||
void HelloReply::CopyFrom(const HelloReply& from) { |
||||
if (&from == this) return; |
||||
Clear(); |
||||
MergeFrom(from); |
||||
} |
||||
|
||||
bool HelloReply::IsInitialized() const { |
||||
|
||||
return true; |
||||
} |
||||
|
||||
void HelloReply::Swap(HelloReply* other) { |
||||
if (other == this) return; |
||||
InternalSwap(other); |
||||
} |
||||
void HelloReply::InternalSwap(HelloReply* other) { |
||||
message_.Swap(&other->message_); |
||||
_internal_metadata_.Swap(&other->_internal_metadata_); |
||||
std::swap(_cached_size_, other->_cached_size_); |
||||
} |
||||
|
||||
::google::protobuf::Metadata HelloReply::GetMetadata() const { |
||||
protobuf_AssignDescriptorsOnce(); |
||||
::google::protobuf::Metadata metadata; |
||||
metadata.descriptor = HelloReply_descriptor_; |
||||
metadata.reflection = HelloReply_reflection_; |
||||
return metadata; |
||||
} |
||||
|
||||
|
||||
static const char* Greeter_method_names[] = { |
||||
"/helloworld.Greeter/sayHello", |
||||
}; |
||||
|
||||
Greeter::Stub* Greeter::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel) { |
||||
Greeter::Stub* stub = new Greeter::Stub(); |
||||
stub->set_channel(channel); |
||||
return stub; |
||||
}; |
||||
|
||||
::grpc::Status Greeter::Stub::sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::helloworld::HelloReply* response) { |
||||
return ::grpc::BlockingUnaryCall(channel(),::grpc::RpcMethod(Greeter_method_names[0]), context, request, response); |
||||
} |
||||
|
||||
::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>* Greeter::Stub::sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::grpc::CompletionQueue* cq, void* tag) { |
||||
return new ::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>(channel(), cq, ::grpc::RpcMethod(Greeter_method_names[0]), context, request, tag); |
||||
} |
||||
|
||||
Greeter::AsyncService::AsyncService(::grpc::CompletionQueue* cq) : ::grpc::AsynchronousService(cq, Greeter_method_names, 1) {} |
||||
|
||||
Greeter::Service::~Service() { |
||||
delete service_; |
||||
} |
||||
|
||||
::grpc::Status Greeter::Service::sayHello(::grpc::ServerContext* context, const ::helloworld::HelloRequest* request, ::helloworld::HelloReply* response) { |
||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED); |
||||
} |
||||
|
||||
void Greeter::AsyncService::RequestsayHello(::grpc::ServerContext* context, ::helloworld::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::helloworld::HelloReply>* response, ::grpc::CompletionQueue* cq, void* tag) { |
||||
AsynchronousService::RequestAsyncUnary(0, context, request, response, cq, tag); |
||||
} |
||||
|
||||
::grpc::RpcService* Greeter::Service::service() { |
||||
if (service_ != nullptr) { |
||||
return service_; |
||||
} |
||||
service_ = new ::grpc::RpcService(); |
||||
service_->AddMethod(new ::grpc::RpcServiceMethod( |
||||
Greeter_method_names[0], |
||||
::grpc::RpcMethod::NORMAL_RPC, |
||||
new ::grpc::RpcMethodHandler< Greeter::Service, ::helloworld::HelloRequest, ::helloworld::HelloReply>( |
||||
std::function< ::grpc::Status(Greeter::Service*, ::grpc::ServerContext*, const ::helloworld::HelloRequest*, ::helloworld::HelloReply*)>(&Greeter::Service::sayHello), this), |
||||
new ::helloworld::HelloRequest, new ::helloworld::HelloReply)); |
||||
return service_; |
||||
} |
||||
|
||||
|
||||
// @@protoc_insertion_point(namespace_scope)
|
||||
|
||||
} // namespace helloworld
|
||||
|
||||
// @@protoc_insertion_point(global_scope)
|
@ -0,0 +1,359 @@ |
||||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: helloworld.proto
|
||||
|
||||
#ifndef PROTOBUF_helloworld_2eproto__INCLUDED |
||||
#define PROTOBUF_helloworld_2eproto__INCLUDED |
||||
|
||||
#include <string> |
||||
|
||||
#include <google/protobuf/stubs/common.h> |
||||
|
||||
#if GOOGLE_PROTOBUF_VERSION < 3000000 |
||||
#error This file was generated by a newer version of protoc which is |
||||
#error incompatible with your Protocol Buffer headers. Please update |
||||
#error your headers. |
||||
#endif |
||||
#if 3000000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION |
||||
#error This file was generated by an older version of protoc which is |
||||
#error incompatible with your Protocol Buffer headers. Please |
||||
#error regenerate this file with a newer version of protoc. |
||||
#endif |
||||
|
||||
#include <google/protobuf/arena.h> |
||||
#include <google/protobuf/arenastring.h> |
||||
#include <google/protobuf/generated_message_util.h> |
||||
#include <google/protobuf/metadata.h> |
||||
#include <google/protobuf/message.h> |
||||
#include <google/protobuf/repeated_field.h> |
||||
#include <google/protobuf/extension_set.h> |
||||
#include <google/protobuf/unknown_field_set.h> |
||||
#include <grpc++/impl/internal_stub.h> |
||||
#include <grpc++/impl/service_type.h> |
||||
#include <grpc++/status.h> |
||||
|
||||
namespace grpc { |
||||
class CompletionQueue; |
||||
class ChannelInterface; |
||||
class RpcService; |
||||
class ServerContext; |
||||
template <class OutMessage> class ClientAsyncResponseReader; |
||||
template <class OutMessage> class ServerAsyncResponseWriter; |
||||
} // namespace grpc
|
||||
// @@protoc_insertion_point(includes)
|
||||
|
||||
namespace helloworld { |
||||
|
||||
// Internal implementation detail -- do not call these.
|
||||
void protobuf_AddDesc_helloworld_2eproto(); |
||||
void protobuf_AssignDesc_helloworld_2eproto(); |
||||
void protobuf_ShutdownFile_helloworld_2eproto(); |
||||
|
||||
class HelloRequest; |
||||
class HelloReply; |
||||
|
||||
// ===================================================================
|
||||
|
||||
class HelloRequest : public ::google::protobuf::Message { |
||||
public: |
||||
HelloRequest(); |
||||
virtual ~HelloRequest(); |
||||
|
||||
HelloRequest(const HelloRequest& from); |
||||
|
||||
inline HelloRequest& operator=(const HelloRequest& from) { |
||||
CopyFrom(from); |
||||
return *this; |
||||
} |
||||
|
||||
static const ::google::protobuf::Descriptor* descriptor(); |
||||
static const HelloRequest& default_instance(); |
||||
|
||||
void Swap(HelloRequest* other); |
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
inline HelloRequest* New() const { return New(NULL); } |
||||
|
||||
HelloRequest* New(::google::protobuf::Arena* arena) const; |
||||
void CopyFrom(const ::google::protobuf::Message& from); |
||||
void MergeFrom(const ::google::protobuf::Message& from); |
||||
void CopyFrom(const HelloRequest& from); |
||||
void MergeFrom(const HelloRequest& from); |
||||
void Clear(); |
||||
bool IsInitialized() const; |
||||
|
||||
int ByteSize() const; |
||||
bool MergePartialFromCodedStream( |
||||
::google::protobuf::io::CodedInputStream* input); |
||||
void SerializeWithCachedSizes( |
||||
::google::protobuf::io::CodedOutputStream* output) const; |
||||
::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; |
||||
int GetCachedSize() const { return _cached_size_; } |
||||
private: |
||||
void SharedCtor(); |
||||
void SharedDtor(); |
||||
void SetCachedSize(int size) const; |
||||
void InternalSwap(HelloRequest* other); |
||||
private: |
||||
inline ::google::protobuf::Arena* GetArenaNoVirtual() const { |
||||
return _internal_metadata_.arena(); |
||||
} |
||||
inline void* MaybeArenaPtr() const { |
||||
return _internal_metadata_.raw_arena_ptr(); |
||||
} |
||||
public: |
||||
|
||||
::google::protobuf::Metadata GetMetadata() const; |
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
// optional string name = 1;
|
||||
inline void clear_name(); |
||||
static const int kNameFieldNumber = 1; |
||||
inline const ::std::string& name() const; |
||||
inline void set_name(const ::std::string& value); |
||||
inline void set_name(const char* value); |
||||
inline void set_name(const char* value, size_t size); |
||||
inline ::std::string* mutable_name(); |
||||
inline ::std::string* release_name(); |
||||
inline void set_allocated_name(::std::string* name); |
||||
|
||||
// @@protoc_insertion_point(class_scope:helloworld.HelloRequest)
|
||||
private: |
||||
|
||||
::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; |
||||
bool _is_default_instance_; |
||||
::google::protobuf::internal::ArenaStringPtr name_; |
||||
mutable int _cached_size_; |
||||
friend void protobuf_AddDesc_helloworld_2eproto(); |
||||
friend void protobuf_AssignDesc_helloworld_2eproto(); |
||||
friend void protobuf_ShutdownFile_helloworld_2eproto(); |
||||
|
||||
void InitAsDefaultInstance(); |
||||
static HelloRequest* default_instance_; |
||||
}; |
||||
// -------------------------------------------------------------------
|
||||
|
||||
class HelloReply : public ::google::protobuf::Message { |
||||
public: |
||||
HelloReply(); |
||||
virtual ~HelloReply(); |
||||
|
||||
HelloReply(const HelloReply& from); |
||||
|
||||
inline HelloReply& operator=(const HelloReply& from) { |
||||
CopyFrom(from); |
||||
return *this; |
||||
} |
||||
|
||||
static const ::google::protobuf::Descriptor* descriptor(); |
||||
static const HelloReply& default_instance(); |
||||
|
||||
void Swap(HelloReply* other); |
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
inline HelloReply* New() const { return New(NULL); } |
||||
|
||||
HelloReply* New(::google::protobuf::Arena* arena) const; |
||||
void CopyFrom(const ::google::protobuf::Message& from); |
||||
void MergeFrom(const ::google::protobuf::Message& from); |
||||
void CopyFrom(const HelloReply& from); |
||||
void MergeFrom(const HelloReply& from); |
||||
void Clear(); |
||||
bool IsInitialized() const; |
||||
|
||||
int ByteSize() const; |
||||
bool MergePartialFromCodedStream( |
||||
::google::protobuf::io::CodedInputStream* input); |
||||
void SerializeWithCachedSizes( |
||||
::google::protobuf::io::CodedOutputStream* output) const; |
||||
::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; |
||||
int GetCachedSize() const { return _cached_size_; } |
||||
private: |
||||
void SharedCtor(); |
||||
void SharedDtor(); |
||||
void SetCachedSize(int size) const; |
||||
void InternalSwap(HelloReply* other); |
||||
private: |
||||
inline ::google::protobuf::Arena* GetArenaNoVirtual() const { |
||||
return _internal_metadata_.arena(); |
||||
} |
||||
inline void* MaybeArenaPtr() const { |
||||
return _internal_metadata_.raw_arena_ptr(); |
||||
} |
||||
public: |
||||
|
||||
::google::protobuf::Metadata GetMetadata() const; |
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
// optional string message = 1;
|
||||
inline void clear_message(); |
||||
static const int kMessageFieldNumber = 1; |
||||
inline const ::std::string& message() const; |
||||
inline void set_message(const ::std::string& value); |
||||
inline void set_message(const char* value); |
||||
inline void set_message(const char* value, size_t size); |
||||
inline ::std::string* mutable_message(); |
||||
inline ::std::string* release_message(); |
||||
inline void set_allocated_message(::std::string* message); |
||||
|
||||
// @@protoc_insertion_point(class_scope:helloworld.HelloReply)
|
||||
private: |
||||
|
||||
::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; |
||||
bool _is_default_instance_; |
||||
::google::protobuf::internal::ArenaStringPtr message_; |
||||
mutable int _cached_size_; |
||||
friend void protobuf_AddDesc_helloworld_2eproto(); |
||||
friend void protobuf_AssignDesc_helloworld_2eproto(); |
||||
friend void protobuf_ShutdownFile_helloworld_2eproto(); |
||||
|
||||
void InitAsDefaultInstance(); |
||||
static HelloReply* default_instance_; |
||||
}; |
||||
// ===================================================================
|
||||
|
||||
|
||||
// ===================================================================
|
||||
|
||||
// HelloRequest
|
||||
|
||||
// optional string name = 1;
|
||||
inline void HelloRequest::clear_name() { |
||||
name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline const ::std::string& HelloRequest::name() const { |
||||
// @@protoc_insertion_point(field_get:helloworld.HelloRequest.name)
|
||||
return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline void HelloRequest::set_name(const ::std::string& value) { |
||||
|
||||
name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); |
||||
// @@protoc_insertion_point(field_set:helloworld.HelloRequest.name)
|
||||
} |
||||
inline void HelloRequest::set_name(const char* value) { |
||||
|
||||
name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); |
||||
// @@protoc_insertion_point(field_set_char:helloworld.HelloRequest.name)
|
||||
} |
||||
inline void HelloRequest::set_name(const char* value, size_t size) { |
||||
|
||||
name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), |
||||
::std::string(reinterpret_cast<const char*>(value), size)); |
||||
// @@protoc_insertion_point(field_set_pointer:helloworld.HelloRequest.name)
|
||||
} |
||||
inline ::std::string* HelloRequest::mutable_name() { |
||||
|
||||
// @@protoc_insertion_point(field_mutable:helloworld.HelloRequest.name)
|
||||
return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline ::std::string* HelloRequest::release_name() { |
||||
|
||||
return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline void HelloRequest::set_allocated_name(::std::string* name) { |
||||
if (name != NULL) { |
||||
|
||||
} else { |
||||
|
||||
} |
||||
name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); |
||||
// @@protoc_insertion_point(field_set_allocated:helloworld.HelloRequest.name)
|
||||
} |
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// HelloReply
|
||||
|
||||
// optional string message = 1;
|
||||
inline void HelloReply::clear_message() { |
||||
message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline const ::std::string& HelloReply::message() const { |
||||
// @@protoc_insertion_point(field_get:helloworld.HelloReply.message)
|
||||
return message_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline void HelloReply::set_message(const ::std::string& value) { |
||||
|
||||
message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); |
||||
// @@protoc_insertion_point(field_set:helloworld.HelloReply.message)
|
||||
} |
||||
inline void HelloReply::set_message(const char* value) { |
||||
|
||||
message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); |
||||
// @@protoc_insertion_point(field_set_char:helloworld.HelloReply.message)
|
||||
} |
||||
inline void HelloReply::set_message(const char* value, size_t size) { |
||||
|
||||
message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), |
||||
::std::string(reinterpret_cast<const char*>(value), size)); |
||||
// @@protoc_insertion_point(field_set_pointer:helloworld.HelloReply.message)
|
||||
} |
||||
inline ::std::string* HelloReply::mutable_message() { |
||||
|
||||
// @@protoc_insertion_point(field_mutable:helloworld.HelloReply.message)
|
||||
return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline ::std::string* HelloReply::release_message() { |
||||
|
||||
return message_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); |
||||
} |
||||
inline void HelloReply::set_allocated_message(::std::string* message) { |
||||
if (message != NULL) { |
||||
|
||||
} else { |
||||
|
||||
} |
||||
message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message); |
||||
// @@protoc_insertion_point(field_set_allocated:helloworld.HelloReply.message)
|
||||
} |
||||
|
||||
|
||||
class Greeter final { |
||||
public: |
||||
class Stub final : public ::grpc::InternalStub { |
||||
public: |
||||
::grpc::Status sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::helloworld::HelloReply* response); |
||||
::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>* sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::grpc::CompletionQueue* cq, void* tag); |
||||
}; |
||||
static Stub* NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel); |
||||
|
||||
class Service : public ::grpc::SynchronousService { |
||||
public: |
||||
Service() : service_(nullptr) {} |
||||
virtual ~Service(); |
||||
virtual ::grpc::Status sayHello(::grpc::ServerContext* context, const ::helloworld::HelloRequest* request, ::helloworld::HelloReply* response); |
||||
::grpc::RpcService* service() override final; |
||||
private: |
||||
::grpc::RpcService* service_; |
||||
}; |
||||
class AsyncService final : public ::grpc::AsynchronousService { |
||||
public: |
||||
explicit AsyncService(::grpc::CompletionQueue* cq); |
||||
~AsyncService() {}; |
||||
void RequestsayHello(::grpc::ServerContext* context, ::helloworld::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::helloworld::HelloReply>* response, ::grpc::CompletionQueue* cq, void *tag); |
||||
}; |
||||
}; |
||||
|
||||
// @@protoc_insertion_point(namespace_scope)
|
||||
|
||||
} // namespace helloworld
|
||||
|
||||
#ifndef SWIG |
||||
namespace google { |
||||
namespace protobuf { |
||||
|
||||
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
#endif // SWIG
|
||||
|
||||
// @@protoc_insertion_point(global_scope)
|
||||
|
||||
#endif // PROTOBUF_helloworld_2eproto__INCLUDED
|
Loading…
Reference in new issue