// @generated
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetConnectionInfoRequest {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetVersionInfoRequest {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetVersionInfoResponse {
    /// Full git commit hash (e.g., "33d5b91abc...")
    #[prost(string, tag="1")]
    pub git_commit_hash: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetConnectionInfoResponse {
    /// Market feed connection info per exchange
    #[prost(message, optional, tag="1")]
    pub krx_market_feed: ::core::option::Option<MarketFeedInfo>,
    /// optional
    #[prost(message, optional, tag="2")]
    pub nxt_market_feed: ::core::option::Option<MarketFeedInfo>,
    /// FEP connection info
    #[prost(message, optional, tag="3")]
    pub fep: ::core::option::Option<FepInfo>,
}
/// Market feed implementation info
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketFeedInfo {
    /// "udp", "file", "websocket", "grpc", "simulation"
    #[prost(string, tag="1")]
    pub implementation: ::prost::alloc::string::String,
}
/// FEP connection info
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FepInfo {
    /// "fake_memory", "fake_tcp", "tcp"
    #[prost(string, tag="1")]
    pub implementation: ::prost::alloc::string::String,
    /// populated when implementation is "tcp"
    #[prost(message, repeated, tag="2")]
    pub clients: ::prost::alloc::vec::Vec<FepClientInfo>,
}
/// Individual FEP client connection info
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FepClientInfo {
    /// "Kospi", "Kosdaq", "Deriv"
    #[prost(string, tag="1")]
    pub market_type: ::prost::alloc::string::String,
    /// "Krx"
    #[prost(string, tag="2")]
    pub exchange_type: ::prost::alloc::string::String,
    /// "Submit", "Trade"
    #[prost(string, tag="3")]
    pub client_type: ::prost::alloc::string::String,
    /// e.g., "A831", "B851"
    #[prost(string, tag="4")]
    pub task_code: ::prost::alloc::string::String,
    /// "tcp", "unix"
    #[prost(string, tag="5")]
    pub transport_type: ::prost::alloc::string::String,
    /// IP address (for tcp) or empty (for unix)
    #[prost(string, tag="6")]
    pub host: ::prost::alloc::string::String,
    /// port number (for tcp) or 0 (for unix)
    #[prost(uint32, tag="7")]
    pub port: u32,
    /// unix socket path (for unix) or empty (for tcp)
    #[prost(string, tag="8")]
    pub path: ::prost::alloc::string::String,
    /// resolved hostname/alias (e.g., "pfds11", "pfds14")
    #[prost(string, tag="9")]
    pub hostname: ::prost::alloc::string::String,
}
include!("kdo.v1.system.tonic.rs");
include!("kdo.v1.system.serde.rs");
// @@protoc_insertion_point(module)