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.")
.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(),
)
.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]);
}