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}