Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
service_registry.h File Reference

gRPC service registration mechanism More...

#include "kcenon/network/detail/protocols/grpc/server.h"
#include "kcenon/network/detail/protocols/grpc/status.h"
#include "kcenon/network/detail/utils/result_types.h"
#include <cstdint>
#include <functional>
#include <memory>
#include <mutex>
#include <optional>
#include <string>
#include <string_view>
#include <unordered_map>
#include <vector>
Include dependency graph for service_registry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::network::protocols::grpc::method_descriptor
 Describes a single RPC method within a service. More...
 
struct  kcenon::network::protocols::grpc::service_descriptor
 Describes a gRPC service and its methods. More...
 
class  kcenon::network::protocols::grpc::service_base
 Base class for all gRPC service implementations. More...
 
class  kcenon::network::protocols::grpc::generic_service
 A service that allows dynamic method registration. More...
 
struct  kcenon::network::protocols::grpc::registry_config
 Configuration for service registry. More...
 
class  kcenon::network::protocols::grpc::service_registry
 Central registry for managing gRPC services. More...
 
class  kcenon::network::protocols::grpc::health_service
 Implementation of gRPC health checking protocol. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::network
 Main namespace for all Network System components.
 
namespace  kcenon::network::protocols
 
namespace  kcenon::network::protocols::grpc
 gRPC protocol implementation
 

Enumerations

enum class  kcenon::network::protocols::grpc::method_type {
  kcenon::network::protocols::grpc::unary , kcenon::network::protocols::grpc::server_streaming , kcenon::network::protocols::grpc::client_streaming , kcenon::network::protocols::grpc::bidi_streaming ,
  kcenon::network::protocols::grpc::unary , kcenon::network::protocols::grpc::server_streaming , kcenon::network::protocols::grpc::client_streaming , kcenon::network::protocols::grpc::bidi_streaming
}
 Type of RPC method. More...
 
enum class  kcenon::network::protocols::grpc::health_status { kcenon::network::protocols::grpc::unknown , kcenon::network::protocols::grpc::serving , kcenon::network::protocols::grpc::not_serving , kcenon::network::protocols::grpc::service_unknown }
 Health status for a service. More...
 

Functions

auto kcenon::network::protocols::grpc::parse_method_path (std::string_view full_path) -> std::optional< std::pair< std::string, std::string > >
 Parse full method path into service and method names.
 
auto kcenon::network::protocols::grpc::build_method_path (std::string_view service_name, std::string_view method_name) -> std::string
 Build full method path from service and method names.
 

Detailed Description

gRPC service registration mechanism

This file provides interfaces for registering gRPC services, supporting both protoc code-generated services and dynamically registered services. It includes reflection support for debugging and service discovery.

See also
docs/adr/ADR-001-grpc-official-library-wrapper.md

Definition in file service_registry.h.