Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
examples
cpp
compression
examples/cpp/compression/greeter_server.cc
Go to the documentation of this file.
1
/*
2
*
3
* Copyright 2018 gRPC authors.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
#include <iostream>
20
#include <memory>
21
#include <string>
22
23
#include <
grpcpp/grpcpp.h
>
24
25
#ifdef BAZEL_BUILD
26
#include "examples/protos/helloworld.grpc.pb.h"
27
#else
28
#include "helloworld.grpc.pb.h"
29
#endif
30
31
using
grpc::Server
;
32
using
grpc::ServerBuilder
;
33
using
grpc::ServerContext
;
34
using
grpc::Status
;
35
using
helloworld::Greeter
;
36
using
helloworld::HelloReply
;
37
using
helloworld::HelloRequest
;
38
39
// Logic and data behind the server's behavior.
40
class
GreeterServiceImpl
final :
public
Greeter::Service {
41
Status
SayHello
(
ServerContext
*
context
,
const
HelloRequest
*
request
,
42
HelloReply
* reply)
override
{
43
// Overwrite the call's compression algorithm to DEFLATE.
44
context
->
set_compression_algorithm
(
GRPC_COMPRESS_DEFLATE
);
45
std::string
prefix
(
"Hello "
);
46
reply->set_message(
prefix
+
request
->name());
47
return
Status::OK
;
48
}
49
};
50
51
void
RunServer
() {
52
std::string
server_address
(
"0.0.0.0:50051"
);
53
GreeterServiceImpl
service
;
54
55
ServerBuilder
builder
;
56
// Set the default compression algorithm for the server.
57
builder
.SetDefaultCompressionAlgorithm(
GRPC_COMPRESS_GZIP
);
58
// Listen on the given address without any authentication mechanism.
59
builder
.AddListeningPort(
server_address
,
grpc::InsecureServerCredentials
());
60
// Register "service" as the instance through which we'll communicate with
61
// clients. In this case it corresponds to an *synchronous* service.
62
builder
.RegisterService(&
service
);
63
// Finally assemble the server.
64
std::unique_ptr<Server>
server
(
builder
.BuildAndStart());
65
std::cout <<
"Server listening on "
<<
server_address
<< std::endl;
66
67
// Wait for the server to shutdown. Note that some other thread must be
68
// responsible for shutting down the server for this call to ever return.
69
server
->Wait();
70
}
71
72
int
main
(
int
argc,
char
** argv) {
73
RunServer
();
74
75
return
0;
76
}
GRPC_COMPRESS_DEFLATE
@ GRPC_COMPRESS_DEFLATE
Definition:
compression_types.h:62
grpc::ServerContext
Definition:
grpcpp/impl/codegen/server_context.h:566
benchmark.request
request
Definition:
benchmark.py:77
testing::internal::string
::std::string string
Definition:
bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
framework.rpc.grpc_channelz.Server
Server
Definition:
grpc_channelz.py:42
main
int main(int argc, char **argv)
Definition:
examples/cpp/compression/greeter_server.cc:72
hellostreamingworld_pb2.HelloRequest
HelloRequest
Definition:
hellostreamingworld_pb2.py:102
OK
@ OK
Definition:
cronet_status.h:43
server_address
std::string server_address("0.0.0.0:10000")
server
std::unique_ptr< Server > server
Definition:
channelz_service_test.cc:330
profile_analyzer.builder
builder
Definition:
profile_analyzer.py:159
GreeterServiceImpl::SayHello
Status SayHello(ServerContext *context, const HelloRequest *request, HelloReply *reply) override
Definition:
examples/cpp/compression/greeter_server.cc:41
grpc::ServerBuilder
A builder class for the creation and startup of grpc::Server instances.
Definition:
grpcpp/server_builder.h:86
grpcpp.h
helloworld.Greeter
Definition:
helloworld.py:32
GreeterServiceImpl
Definition:
grpc-helloworld.cc:39
hellostreamingworld_pb2.HelloReply
HelloReply
Definition:
hellostreamingworld_pb2.py:109
server
Definition:
examples/python/async_streaming/server.py:1
GRPC_COMPRESS_GZIP
@ GRPC_COMPRESS_GZIP
Definition:
compression_types.h:63
prefix
static const char prefix[]
Definition:
head_of_line_blocking.cc:28
grpc::protobuf::util::Status
GRPC_CUSTOM_UTIL_STATUS Status
Definition:
include/grpcpp/impl/codegen/config_protobuf.h:93
grpc::Status
Definition:
include/grpcpp/impl/codegen/status.h:35
RunServer
void RunServer()
Definition:
examples/cpp/compression/greeter_server.cc:51
grpc::InsecureServerCredentials
std::shared_ptr< ServerCredentials > InsecureServerCredentials()
Definition:
insecure_server_credentials.cc:52
context
grpc::ClientContext context
Definition:
istio_echo_server_lib.cc:61
service
__attribute__((deprecated("Please use GRPCProtoMethod."))) @interface ProtoMethod NSString * service
Definition:
ProtoMethod.h:25
grpc::ClientContext::set_compression_algorithm
void set_compression_algorithm(grpc_compression_algorithm algorithm)
Definition:
client_context.cc:144
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:47