1# Copyright 2017 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import grpc_testing
16
17
18class UnaryUnaryServerRpc(grpc_testing.UnaryUnaryServerRpc):
19
20    def __init__(self, handler):
21        self._handler = handler
22
23    def initial_metadata(self):
24        return self._handler.initial_metadata()
25
26    def cancel(self):
27        self._handler.cancel()
28
29    def termination(self):
30        return self._handler.unary_response_termination()
31
32
33class UnaryStreamServerRpc(grpc_testing.UnaryStreamServerRpc):
34
35    def __init__(self, handler):
36        self._handler = handler
37
38    def initial_metadata(self):
39        return self._handler.initial_metadata()
40
41    def take_response(self):
42        return self._handler.take_response()
43
44    def cancel(self):
45        self._handler.cancel()
46
47    def termination(self):
48        return self._handler.stream_response_termination()
49
50
51class StreamUnaryServerRpc(grpc_testing.StreamUnaryServerRpc):
52
53    def __init__(self, handler):
54        self._handler = handler
55
56    def initial_metadata(self):
57        return self._handler.initial_metadata()
58
59    def send_request(self, request):
60        self._handler.add_request(request)
61
62    def requests_closed(self):
63        self._handler.requests_closed()
64
65    def cancel(self):
66        self._handler.cancel()
67
68    def termination(self):
69        return self._handler.unary_response_termination()
70
71
72class StreamStreamServerRpc(grpc_testing.StreamStreamServerRpc):
73
74    def __init__(self, handler):
75        self._handler = handler
76
77    def initial_metadata(self):
78        return self._handler.initial_metadata()
79
80    def send_request(self, request):
81        self._handler.add_request(request)
82
83    def requests_closed(self):
84        self._handler.requests_closed()
85
86    def take_response(self):
87        return self._handler.take_response()
88
89    def cancel(self):
90        self._handler.cancel()
91
92    def termination(self):
93        return self._handler.stream_response_termination()
94