6 #ifndef MAIN_SERVER_RUNNER_HPP 7 #define MAIN_SERVER_RUNNER_HPP 9 #include <condition_variable> 11 #include <grpc++/grpc++.h> 12 #include <grpc++/impl/codegen/service_type.h> 18 struct TlsCredentials;
33 const std::string &address,
36 const boost::optional<std::shared_ptr<const TlsCredentials>>
37 &my_tls_creds = boost::none);
67 void shutdown(
const std::chrono::system_clock::time_point &deadline);
72 std::unique_ptr<grpc::Server> server_instance_;
73 std::mutex wait_for_server_;
74 std::condition_variable server_instance_cv_;
76 std::string server_address_;
77 std::shared_ptr<grpc::ServerCredentials> credentials_;
79 std::vector<std::shared_ptr<grpc::Service>> services_;
85 #endif // MAIN_SERVER_RUNNER_HPP void waitForServersReady()
Definition: server_runner.cpp:86
void shutdown()
Definition: server_runner.cpp:93
Definition: result_fwd.hpp:27
Definition: server_runner.hpp:23
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
ServerRunner & append(std::shared_ptr< grpc::Service > service)
Definition: server_runner.cpp:53
Definition: block_query.hpp:15
ServerRunner(const std::string &address, logger::LoggerPtr log, bool reuse=true, const boost::optional< std::shared_ptr< const TlsCredentials >> &my_tls_creds=boost::none)
Definition: server_runner.cpp:39
iroha::expected::Result< int, std::string > run()
Definition: server_runner.cpp:58
~ServerRunner()
Definition: server_runner.cpp:49