aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio/grpc/_cython/_cygrpc/tag.pxd.pxi
blob: d8ba1ea9bd57f0dc4e96663ab23a2f1001cbc8a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


cdef class _Tag:

  cdef object event(self, grpc_event c_event)


cdef class _ConnectivityTag(_Tag):

  cdef readonly object _user_tag

  cdef ConnectivityEvent event(self, grpc_event c_event)


cdef class _RequestCallTag(_Tag):

  cdef readonly object _user_tag
  cdef Call call
  cdef CallDetails call_details
  cdef grpc_metadata_array c_invocation_metadata

  cdef void prepare(self) except *
  cdef RequestCallEvent event(self, grpc_event c_event)


cdef class _BatchOperationTag(_Tag):

  cdef object _user_tag
  cdef readonly object _operations
  cdef readonly object _retained_call
  cdef grpc_op *c_ops
  cdef size_t c_nops

  cdef void prepare(self) except *
  cdef BatchOperationEvent event(self, grpc_event c_event)


cdef class _ServerShutdownTag(_Tag):

  cdef readonly object _user_tag
  # This allows CompletionQueue to notify the Python Server object that the
  # underlying GRPC core server has shutdown
  cdef readonly Server _shutting_down_server

  cdef ServerShutdownEvent event(self, grpc_event c_event)