afintech-sdk 0.1.1

Brokerage SDK
Documentation
fn main() {
    let codec_path = "crate::grpc::json_codec::JsonCodec";

    let marketdata_service = tonic_build::manual::Service::builder()
        .name("Marketdata")
        .package("json.architect")
        .comment("Architect-compatible marketdata gRPC service.")
        // Unary methods
        .method(
            tonic_build::manual::Method::builder()
                .name("l1_book_snapshot")
                .route_name("L1BookSnapshot")
                .input_type("crate::marketdata::L1BookSnapshotRequest")
                .output_type("crate::marketdata::L1BookSnapshot")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("l1_book_snapshots")
                .route_name("L1BookSnapshots")
                .input_type("crate::marketdata::L1BookSnapshotsRequest")
                .output_type("Vec<crate::marketdata::L1BookSnapshot>")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("l2_book_snapshot")
                .route_name("L2BookSnapshot")
                .input_type("crate::marketdata::L2BookSnapshotRequest")
                .output_type("crate::marketdata::L2BookSnapshot")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("historical_candles")
                .route_name("HistoricalCandles")
                .input_type("crate::marketdata::HistoricalCandlesRequest")
                .output_type("crate::marketdata::HistoricalCandlesResponse")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("market_status")
                .route_name("MarketStatus")
                .input_type("crate::marketdata::MarketStatusRequest")
                .output_type("crate::marketdata::MarketStatus")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("ticker")
                .route_name("Ticker")
                .input_type("crate::marketdata::TickerRequest")
                .output_type("crate::marketdata::Ticker")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("tickers")
                .route_name("Tickers")
                .input_type("crate::marketdata::TickersRequest")
                .output_type("crate::marketdata::TickersResponse")
                .codec_path(codec_path)
                .build(),
        )
        // Streaming methods
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_l1_book_snapshots")
                .route_name("SubscribeL1BookSnapshots")
                .input_type("crate::marketdata::SubscribeL1BookSnapshotsRequest")
                .output_type("crate::marketdata::L1BookSnapshot")
                .codec_path(codec_path)
                .server_streaming()
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_l2_book_updates")
                .route_name("SubscribeL2BookUpdates")
                .input_type("crate::marketdata::SubscribeL2BookUpdatesRequest")
                .output_type("crate::marketdata::L2BookUpdate")
                .codec_path(codec_path)
                .server_streaming()
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_trades")
                .route_name("SubscribeTrades")
                .input_type("crate::marketdata::SubscribeTradesRequest")
                .output_type("crate::marketdata::Trade")
                .codec_path(codec_path)
                .server_streaming()
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_candles")
                .route_name("SubscribeCandles")
                .input_type("crate::marketdata::SubscribeCandlesRequest")
                .output_type("crate::marketdata::Candle")
                .codec_path(codec_path)
                .server_streaming()
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_many_candles")
                .route_name("SubscribeManyCandles")
                .input_type("crate::marketdata::SubscribeManyCandlesRequest")
                .output_type("crate::marketdata::Candle")
                .codec_path(codec_path)
                .server_streaming()
                .build(),
        )
        .build();

    let symbology_service = tonic_build::manual::Service::builder()
        .name("Symbology")
        .package("json.architect")
        .comment("Architect-compatible symbology gRPC service.")
        .method(
            tonic_build::manual::Method::builder()
                .name("symbols")
                .route_name("Symbols")
                .input_type("crate::symbology::SymbolsRequest")
                .output_type("crate::symbology::SymbolsResponse")
                .codec_path(codec_path)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("symbology")
                .route_name("Symbology")
                .input_type("crate::symbology::SymbologyRequest")
                .output_type("crate::symbology::SymbologySnapshot")
                .codec_path(codec_path)
                .build(),
        )
        .build();

    tonic_build::manual::Builder::new()
        .build_client(true)
        .build_server(true)
        .compile(&[marketdata_service, symbology_service]);
}