|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
gRPC server for handling RPC requests More...
#include <server.h>

Classes | |
| class | impl |
Public Member Functions | |
| grpc_server (const grpc_server_config &config={}) | |
| Construct gRPC server. | |
| ~grpc_server () | |
| Destructor. | |
| grpc_server (const grpc_server &)=delete | |
| grpc_server & | operator= (const grpc_server &)=delete |
| grpc_server (grpc_server &&) noexcept | |
| grpc_server & | operator= (grpc_server &&) noexcept |
| auto | start (uint16_t port) -> VoidResult |
| Start the server on specified port. | |
| auto | start_tls (uint16_t port, const std::string &cert_path, const std::string &key_path, const std::string &ca_path="") -> VoidResult |
| Start the server with TLS. | |
| auto | stop () -> void |
| Stop the server. | |
| auto | wait () -> void |
| Wait for server to finish (blocks) | |
| auto | is_running () const -> bool |
| Check if server is running. | |
| auto | port () const -> uint16_t |
| Get the port the server is listening on. | |
| auto | register_service (grpc_service *service) -> VoidResult |
| Register a service. | |
| auto | register_unary_method (const std::string &full_method_name, unary_handler handler) -> VoidResult |
| Register a unary RPC method handler. | |
| auto | register_server_streaming_method (const std::string &full_method_name, server_streaming_handler handler) -> VoidResult |
| Register a server streaming RPC method handler. | |
| auto | register_client_streaming_method (const std::string &full_method_name, client_streaming_handler handler) -> VoidResult |
| Register a client streaming RPC method handler. | |
| auto | register_bidi_streaming_method (const std::string &full_method_name, bidi_streaming_handler handler) -> VoidResult |
| Register a bidirectional streaming RPC method handler. | |
Private Attributes | |
| std::unique_ptr< impl > | impl_ |
gRPC server for handling RPC requests
This class provides a server for handling gRPC requests over HTTP/2 transport.
Example usage:
|
explicit |
Construct gRPC server.
| config | Server configuration |
Definition at line 929 of file server.cpp.
References config.
|
default |
Destructor.
|
delete |
|
defaultnoexcept |
| auto kcenon::network::protocols::grpc::grpc_server::is_running | ( | ) | const -> bool |
Check if server is running.
Definition at line 962 of file server.cpp.
References impl_, and kcenon::network::protocols::grpc::grpc_server::impl::is_running().

|
delete |
|
defaultnoexcept |
| auto kcenon::network::protocols::grpc::grpc_server::port | ( | ) | const -> uint16_t |
Get the port the server is listening on.
Definition at line 967 of file server.cpp.
References impl_, and kcenon::network::protocols::grpc::grpc_server::impl::port().

| auto kcenon::network::protocols::grpc::grpc_server::register_bidi_streaming_method | ( | const std::string & | full_method_name, |
| bidi_streaming_handler | handler ) -> VoidResult |
Register a bidirectional streaming RPC method handler.
| full_method_name | Full method name |
| handler | Handler function |
Definition at line 995 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::register_client_streaming_method | ( | const std::string & | full_method_name, |
| client_streaming_handler | handler ) -> VoidResult |
Register a client streaming RPC method handler.
| full_method_name | Full method name |
| handler | Handler function |
Definition at line 989 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::register_server_streaming_method | ( | const std::string & | full_method_name, |
| server_streaming_handler | handler ) -> VoidResult |
Register a server streaming RPC method handler.
| full_method_name | Full method name |
| handler | Handler function |
Definition at line 983 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::register_service | ( | grpc_service * | service | ) | -> VoidResult |
Register a service.
| service | Service to register |
Definition at line 972 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::register_unary_method | ( | const std::string & | full_method_name, |
| unary_handler | handler ) -> VoidResult |
Register a unary RPC method handler.
| full_method_name | Full method name (e.g., "/package.Service/Method") |
| handler | Handler function |
Definition at line 977 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::start | ( | uint16_t | port | ) | -> VoidResult |
Start the server on specified port.
| port | Port number to listen on |
Definition at line 939 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::start_tls | ( | uint16_t | port, |
| const std::string & | cert_path, | ||
| const std::string & | key_path, | ||
| const std::string & | ca_path = "" ) -> VoidResult |
Start the server with TLS.
| port | Port number to listen on |
| cert_path | Path to server certificate (PEM) |
| key_path | Path to server private key (PEM) |
| ca_path | Optional path to CA certificates for client auth |
Definition at line 944 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::stop | ( | ) | -> void |
Stop the server.
Definition at line 952 of file server.cpp.
| auto kcenon::network::protocols::grpc::grpc_server::wait | ( | ) | -> void |
Wait for server to finish (blocks)
Definition at line 957 of file server.cpp.
|
private |
Definition at line 381 of file server.h.
Referenced by is_running(), and port().