summa_proto/
lib.rs

1pub mod proto_traits;
2
3#[allow(clippy::derive_partial_eq_without_eq)]
4/// Protobuf messages for communicating with Summa
5///
6/// ```rust,no_run
7/// use summa_proto::proto;
8/// use summa_proto::proto::search_api_client::SearchApiClient;
9///
10/// #[tokio::main]
11/// async fn main() {
12///     let summa_conn = tonic::transport::Endpoint::new("grpc://127.0.0.1:8082")
13///         .expect("incorrect endpoint")
14///         .connect()
15///         .await
16///         .expect("cannot connect");
17///     let mut search_api_client = SearchApiClient::new(summa_conn);
18///
19///     let search_response = search_api_client
20///         .search(proto::SearchRequest {
21///             index_alias: "test_index".to_string(),
22///             query: Some(proto::Query {
23///                 query: Some(proto::query::Query::Match(proto::MatchQuery {
24///                     value: "game of thrones".to_string(),
25///                     query_parser_config: Some(proto::QueryParserConfig {
26///                         default_fields: vec!["title".to_string()],
27///                         ..Default::default()
28///                     }),
29///                     ..Default::default()
30///                 })),
31///             }),
32///             collectors: vec![
33///                 proto::Collector {
34///                     collector: Some(proto::collector::Collector::TopDocs(proto::TopDocsCollector {
35///                         limit: 10,
36///                         ..Default::default()
37///                     })),
38///                 },
39///                 proto::Collector {
40///                     collector: Some(proto::collector::Collector::Count(proto::CountCollector {})),
41///                 }
42///             ],
43///             is_fieldnorms_scoring_enabled: None,
44///             load_cache: None,
45///             store_cache: None
46///         })
47///         .await
48///         .expect("cannot search");
49/// }
50/// ```
51pub mod proto {
52    #[cfg(feature = "grpc")]
53    pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("summa");
54    pub mod dag_pb {
55        include!(concat!(env!("OUT_DIR"), "/dag_pb.rs"));
56    }
57    pub mod unixfs {
58        include!(concat!(env!("OUT_DIR"), "/unixfs.rs"));
59    }
60    #[cfg(feature = "grpc")]
61    tonic::include_proto!("summa.proto");
62    #[cfg(not(feature = "grpc"))]
63    include!(concat!(env!("OUT_DIR"), "/summa.proto.rs"));
64}