tls_test_utils.h
Go to the documentation of this file.
1 //
2 // Copyright 2021 gRPC authors.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #ifndef GRPC_TEST_CPP_UTIL_TLS_TEST_UTILS_H
18 #define GRPC_TEST_CPP_UTIL_TLS_TEST_UTILS_H
19 
20 #include <deque>
21 
22 #include <grpc/grpc.h>
23 #include <grpc/grpc_security.h>
25 
26 #include "src/core/lib/gprpp/thd.h"
27 
28 namespace grpc {
29 namespace testing {
30 
33  public:
34  explicit SyncCertificateVerifier(bool success) : success_(success) {}
35 
37 
40  grpc::Status* sync_status) override;
41 
43  }
44 
45  private:
46  bool success_ = false;
47 };
48 
51  public:
52  explicit AsyncCertificateVerifier(bool success);
53 
54  ~AsyncCertificateVerifier() override;
55 
58  grpc::Status* sync_status) override;
59 
61  }
62 
63  private:
64  // A request to pass to the worker thread.
65  struct Request {
68  bool shutdown; // If true, thread will exit.
69  };
70 
71  static void WorkerThread(void* arg);
72 
73  bool success_ = false;
76  std::deque<Request> queue_ ABSL_GUARDED_BY(mu_);
77 };
78 
79 } // namespace testing
80 } // namespace grpc
81 
82 #endif // GRPC_TEST_CPP_UTIL_TLS_TEST_UTILS_H
grpc::testing::AsyncCertificateVerifier::thread_
grpc_core::Thread thread_
Definition: tls_test_utils.h:74
testing
Definition: aws_request_signer_test.cc:25
grpc::experimental::TlsCustomVerificationCheckRequest
Definition: tls_certificate_verifier.h:55
grpc::testing::AsyncCertificateVerifier::Request::shutdown
bool shutdown
Definition: tls_test_utils.h:68
grpc::internal::Mutex
Definition: include/grpcpp/impl/codegen/sync.h:59
grpc
Definition: grpcpp/alarm.h:33
grpc::testing::AsyncCertificateVerifier::Cancel
void Cancel(grpc::experimental::TlsCustomVerificationCheckRequest *) override
Definition: tls_test_utils.h:60
benchmark.request
request
Definition: benchmark.py:77
grpc::experimental::ExternalCertificateVerifier
Definition: tls_certificate_verifier.h:135
grpc::testing::SyncCertificateVerifier::Verify
bool Verify(grpc::experimental::TlsCustomVerificationCheckRequest *request, std::function< void(grpc::Status)> callback, grpc::Status *sync_status) override
Definition: tls_test_utils.cc:31
grpc::testing::SyncCertificateVerifier
Definition: tls_test_utils.h:31
grpc_security.h
grpc::testing::AsyncCertificateVerifier::Request
Definition: tls_test_utils.h:65
grpc::testing::AsyncCertificateVerifier::AsyncCertificateVerifier
AsyncCertificateVerifier(bool success)
Definition: tls_test_utils.cc:43
grpc::testing::AsyncCertificateVerifier::mu_
grpc::internal::Mutex mu_
Definition: tls_test_utils.h:75
grpc::testing::SyncCertificateVerifier::SyncCertificateVerifier
SyncCertificateVerifier(bool success)
Definition: tls_test_utils.h:34
grpc.h
arg
Definition: cmdline.cc:40
callback
static void callback(void *arg, int status, int timeouts, struct hostent *host)
Definition: acountry.c:224
grpc::testing::SyncCertificateVerifier::~SyncCertificateVerifier
~SyncCertificateVerifier() override
Definition: tls_test_utils.h:36
grpc::testing::AsyncCertificateVerifier::~AsyncCertificateVerifier
~AsyncCertificateVerifier() override
Definition: tls_test_utils.cc:49
grpc::testing::SyncCertificateVerifier::success_
bool success_
Definition: tls_test_utils.h:46
server_credentials.h
grpc::testing::AsyncCertificateVerifier::success_
bool success_
Definition: tls_test_utils.h:73
grpc::testing::AsyncCertificateVerifier
Definition: tls_test_utils.h:49
thd.h
grpc::Status
Definition: include/grpcpp/impl/codegen/status.h:35
grpc_core::Thread
Definition: thd.h:43
grpc::testing::AsyncCertificateVerifier::Request::callback
std::function< void(grpc::Status)> callback
Definition: tls_test_utils.h:67
grpc::testing::AsyncCertificateVerifier::WorkerThread
static void WorkerThread(void *arg)
Definition: tls_test_utils.cc:67
function
std::function< bool(GrpcTool *, int, const char **, const CliCredentials &, GrpcToolOutputCallback)> function
Definition: grpc_tool.cc:250
grpc::testing::SyncCertificateVerifier::Cancel
void Cancel(grpc::experimental::TlsCustomVerificationCheckRequest *) override
Definition: tls_test_utils.h:42
grpc::testing::AsyncCertificateVerifier::Request::request
grpc::experimental::TlsCustomVerificationCheckRequest * request
Definition: tls_test_utils.h:66
grpc::testing::AsyncCertificateVerifier::Verify
bool Verify(grpc::experimental::TlsCustomVerificationCheckRequest *request, std::function< void(grpc::Status)> callback, grpc::Status *sync_status) override
Definition: tls_test_utils.cc:59
grpc::testing::AsyncCertificateVerifier::ABSL_GUARDED_BY
std::deque< Request > queue_ ABSL_GUARDED_BY(mu_)


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:40