aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi
blob: 1cef7269707f0a0cfc304005e151fa207ea8005c (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Copyright 2015 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 CallCredentials:

  cdef grpc_call_credentials *c(self) except *

  # TODO(https://github.com/grpc/grpc/issues/12531): remove.
  cdef grpc_call_credentials *c_credentials


cdef int _get_metadata(
    void *state, grpc_auth_metadata_context context,
    grpc_credentials_plugin_metadata_cb cb, void *user_data,
    grpc_metadata creds_md[GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX],
    size_t *num_creds_md, grpc_status_code *status,
    const char **error_details) with gil

cdef void _destroy(void *state) with gil


cdef class MetadataPluginCallCredentials(CallCredentials):

  cdef readonly object _metadata_plugin
  cdef readonly bytes _name

  cdef grpc_call_credentials *c(self) except *


cdef grpc_call_credentials *_composition(call_credentialses)


cdef class CompositeCallCredentials(CallCredentials):

  cdef readonly tuple _call_credentialses

  cdef grpc_call_credentials *c(self) except *


cdef class ChannelCredentials:

  cdef grpc_channel_credentials *c(self) except *

  # TODO(https://github.com/grpc/grpc/issues/12531): remove.
  cdef grpc_channel_credentials *c_credentials


cdef class SSLSessionCacheLRU:

  cdef grpc_ssl_session_cache *_cache


cdef class SSLChannelCredentials(ChannelCredentials):

  cdef readonly object _pem_root_certificates
  cdef readonly object _private_key
  cdef readonly object _certificate_chain

  cdef grpc_channel_credentials *c(self) except *


cdef class CompositeChannelCredentials(ChannelCredentials):

  cdef readonly tuple _call_credentialses
  cdef readonly ChannelCredentials _channel_credentials

  cdef grpc_channel_credentials *c(self) except *


cdef class ServerCertificateConfig:

  cdef grpc_ssl_server_certificate_config *c_cert_config
  cdef const char *c_pem_root_certs
  cdef grpc_ssl_pem_key_cert_pair *c_ssl_pem_key_cert_pairs
  cdef size_t c_ssl_pem_key_cert_pairs_count
  cdef list references


cdef class ServerCredentials:

  cdef grpc_server_credentials *c_credentials
  cdef grpc_ssl_pem_key_cert_pair *c_ssl_pem_key_cert_pairs
  cdef size_t c_ssl_pem_key_cert_pairs_count
  cdef list references
  # the cert config related state is used only if this credentials is
  # created with cert config/fetcher
  cdef object initial_cert_config
  cdef object cert_config_fetcher
  # whether C-core has asked for the initial_cert_config
  cdef bint initial_cert_config_fetched