Skip to main content

geode_client/generated/
geode.rs

1// This file is @generated by prost-build.
2/// ============================================================================
3/// Transport Wrappers (QUIC framing)
4/// ============================================================================
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct ClientPacket {
7    #[prost(oneof = "client_packet::Msg", tags = "1")]
8    pub msg: ::core::option::Option<client_packet::Msg>,
9}
10/// Nested message and enum types in `ClientPacket`.
11pub mod client_packet {
12    #[derive(Clone, PartialEq, ::prost::Oneof)]
13    pub enum Msg {
14        #[prost(message, tag = "1")]
15        Quic(super::QuicClientMessage),
16    }
17}
18#[derive(Clone, PartialEq, ::prost::Message)]
19pub struct ServerPacket {
20    #[prost(oneof = "server_packet::Msg", tags = "1")]
21    pub msg: ::core::option::Option<server_packet::Msg>,
22}
23/// Nested message and enum types in `ServerPacket`.
24pub mod server_packet {
25    #[derive(Clone, PartialEq, ::prost::Oneof)]
26    pub enum Msg {
27        #[prost(message, tag = "1")]
28        Quic(super::QuicServerMessage),
29    }
30}
31/// ============================================================================
32/// QUIC Messages
33/// ============================================================================
34#[derive(Clone, PartialEq, ::prost::Message)]
35pub struct QuicClientMessage {
36    #[prost(
37        oneof = "quic_client_message::Msg",
38        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
39    )]
40    pub msg: ::core::option::Option<quic_client_message::Msg>,
41}
42/// Nested message and enum types in `QuicClientMessage`.
43pub mod quic_client_message {
44    #[derive(Clone, PartialEq, ::prost::Oneof)]
45    pub enum Msg {
46        #[prost(message, tag = "1")]
47        Hello(super::HelloRequest),
48        #[prost(message, tag = "2")]
49        Execute(super::ExecuteRequest),
50        #[prost(message, tag = "3")]
51        Pull(super::PullRequest),
52        #[prost(message, tag = "4")]
53        Ping(super::PingRequest),
54        #[prost(message, tag = "5")]
55        CdcDiag(super::CdcDiagnosticsRequest),
56        #[prost(message, tag = "6")]
57        CdcCtrl(super::CdcControlRequest),
58        #[prost(message, tag = "7")]
59        Begin(super::BeginRequest),
60        #[prost(message, tag = "8")]
61        Commit(super::CommitRequest),
62        #[prost(message, tag = "9")]
63        Rollback(super::RollbackRequest),
64        #[prost(message, tag = "10")]
65        Savepoint(super::SavepointRequest),
66        #[prost(message, tag = "11")]
67        RollbackTo(super::RollbackToRequest),
68        #[prost(message, tag = "12")]
69        Backup(super::BackupRequest),
70        #[prost(message, tag = "13")]
71        Restore(super::RestoreRequest),
72        #[prost(message, tag = "14")]
73        UploadBackup(super::UploadBackupRequest),
74    }
75}
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct QuicServerMessage {
78    #[prost(
79        oneof = "quic_server_message::Msg",
80        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
81    )]
82    pub msg: ::core::option::Option<quic_server_message::Msg>,
83}
84/// Nested message and enum types in `QuicServerMessage`.
85pub mod quic_server_message {
86    #[derive(Clone, PartialEq, ::prost::Oneof)]
87    pub enum Msg {
88        #[prost(message, tag = "1")]
89        Hello(super::HelloResponse),
90        #[prost(message, tag = "2")]
91        Execute(super::ExecutionResponse),
92        #[prost(message, tag = "3")]
93        Pull(super::PullResponse),
94        #[prost(message, tag = "4")]
95        Ping(super::PingResponse),
96        #[prost(message, tag = "5")]
97        CdcDiag(super::CdcDiagnosticsResponse),
98        #[prost(message, tag = "6")]
99        CdcCtrl(super::CdcControlResponse),
100        #[prost(message, tag = "7")]
101        Begin(super::BeginResponse),
102        #[prost(message, tag = "8")]
103        Commit(super::CommitResponse),
104        #[prost(message, tag = "9")]
105        Rollback(super::RollbackResponse),
106        #[prost(message, tag = "10")]
107        Savepoint(super::SavepointResponse),
108        #[prost(message, tag = "11")]
109        RollbackTo(super::RollbackToResponse),
110        #[prost(message, tag = "12")]
111        Backup(super::BackupResponse),
112        #[prost(message, tag = "13")]
113        Restore(super::RestoreResponse),
114        #[prost(message, tag = "14")]
115        UploadBackup(super::UploadBackupResponse),
116    }
117}
118/// ============================================================================
119/// Authentication (HELLO)
120/// ============================================================================
121#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct HelloRequest {
123    #[prost(string, tag = "1")]
124    pub username: ::prost::alloc::string::String,
125    #[prost(string, tag = "2")]
126    pub password: ::prost::alloc::string::String,
127    #[prost(string, optional, tag = "3")]
128    pub tenant_id: ::core::option::Option<::prost::alloc::string::String>,
129    #[prost(string, tag = "4")]
130    pub client_name: ::prost::alloc::string::String,
131    #[prost(string, tag = "5")]
132    pub client_version: ::prost::alloc::string::String,
133    #[prost(string, tag = "6")]
134    pub wanted_conformance: ::prost::alloc::string::String,
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct HelloResponse {
138    #[prost(bool, tag = "1")]
139    pub success: bool,
140    #[prost(string, tag = "2")]
141    pub session_id: ::prost::alloc::string::String,
142    #[prost(string, tag = "3")]
143    pub error_message: ::prost::alloc::string::String,
144    #[prost(string, repeated, tag = "4")]
145    pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
146}
147/// ============================================================================
148/// Query Execution (RUN_GQL + PULL)
149/// ============================================================================
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct ExecuteRequest {
152    #[prost(string, tag = "1")]
153    pub session_id: ::prost::alloc::string::String,
154    #[prost(string, tag = "2")]
155    pub query: ::prost::alloc::string::String,
156    #[prost(message, repeated, tag = "3")]
157    pub params: ::prost::alloc::vec::Vec<Param>,
158}
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct Param {
161    #[prost(string, tag = "1")]
162    pub name: ::prost::alloc::string::String,
163    #[prost(message, optional, tag = "2")]
164    pub value: ::core::option::Option<Value>,
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct PullRequest {
168    #[prost(uint64, tag = "1")]
169    pub request_id: u64,
170    #[prost(uint32, tag = "2")]
171    pub page_size: u32,
172    /// Required for gRPC; ignored for QUIC
173    #[prost(string, tag = "3")]
174    pub session_id: ::prost::alloc::string::String,
175}
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct PullResponse {
178    #[prost(message, optional, tag = "1")]
179    pub response: ::core::option::Option<ExecutionResponse>,
180}
181/// ============================================================================
182/// Execution Responses
183/// ============================================================================
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct Status {
186    /// e.g., "00000"
187    #[prost(string, tag = "1")]
188    pub status_class: ::prost::alloc::string::String,
189    #[prost(string, tag = "2")]
190    pub status_subclass: ::prost::alloc::string::String,
191    #[prost(string, repeated, tag = "3")]
192    pub additional_statuses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
193    #[prost(string, repeated, tag = "4")]
194    pub flagger_findings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
195}
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct ExecutionResponse {
198    #[prost(message, optional, tag = "1")]
199    pub status: ::core::option::Option<Status>,
200    #[prost(oneof = "execution_response::Payload", tags = "2, 3, 4, 5, 6, 7, 8")]
201    pub payload: ::core::option::Option<execution_response::Payload>,
202}
203/// Nested message and enum types in `ExecutionResponse`.
204pub mod execution_response {
205    #[derive(Clone, PartialEq, ::prost::Oneof)]
206    pub enum Payload {
207        #[prost(message, tag = "2")]
208        Schema(super::SchemaDefinition),
209        #[prost(message, tag = "3")]
210        Page(super::DataPage),
211        #[prost(message, tag = "4")]
212        Error(super::Error),
213        #[prost(message, tag = "5")]
214        Metrics(super::ExecutionMetrics),
215        #[prost(message, tag = "6")]
216        Explain(super::ExplainPayload),
217        #[prost(message, tag = "7")]
218        Profile(super::ProfilePayload),
219        #[prost(message, tag = "8")]
220        Heartbeat(super::Heartbeat),
221    }
222}
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct SchemaDefinition {
225    #[prost(message, repeated, tag = "1")]
226    pub columns: ::prost::alloc::vec::Vec<ColumnDefinition>,
227}
228#[derive(Clone, PartialEq, ::prost::Message)]
229pub struct ColumnDefinition {
230    #[prost(string, tag = "1")]
231    pub name: ::prost::alloc::string::String,
232    #[prost(string, tag = "2")]
233    pub r#type: ::prost::alloc::string::String,
234}
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct DataPage {
237    #[prost(message, repeated, tag = "1")]
238    pub rows: ::prost::alloc::vec::Vec<Row>,
239    #[prost(bool, tag = "2")]
240    pub r#final: bool,
241    #[prost(bool, tag = "3")]
242    pub ordered: bool,
243    #[prost(string, repeated, tag = "4")]
244    pub order_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
245}
246#[derive(Clone, PartialEq, ::prost::Message)]
247pub struct Row {
248    #[prost(message, repeated, tag = "1")]
249    pub values: ::prost::alloc::vec::Vec<Value>,
250}
251/// ----------------------------------------------------------------------------
252/// Value Encoding
253/// ----------------------------------------------------------------------------
254#[derive(Clone, PartialEq, ::prost::Message)]
255pub struct Value {
256    #[prost(
257        oneof = "value::Kind",
258        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13"
259    )]
260    pub kind: ::core::option::Option<value::Kind>,
261}
262/// Nested message and enum types in `Value`.
263pub mod value {
264    #[derive(Clone, PartialEq, ::prost::Oneof)]
265    pub enum Kind {
266        #[prost(message, tag = "1")]
267        NullVal(super::NullValue),
268        #[prost(message, tag = "2")]
269        IntVal(super::IntValue),
270        #[prost(message, tag = "3")]
271        DoubleVal(super::DoubleValue),
272        #[prost(bool, tag = "4")]
273        BoolVal(bool),
274        #[prost(message, tag = "5")]
275        StringVal(super::StringValue),
276        #[prost(message, tag = "6")]
277        DecimalVal(super::DecimalValue),
278        #[prost(message, tag = "7")]
279        BytesVal(super::BytesValue),
280        #[prost(message, tag = "8")]
281        ListVal(super::ListValue),
282        #[prost(message, tag = "9")]
283        MapVal(super::MapValue),
284        #[prost(message, tag = "10")]
285        NodeVal(super::NodeValue),
286        #[prost(message, tag = "11")]
287        EdgeVal(super::EdgeValue),
288        #[prost(message, tag = "12")]
289        PathVal(super::PathValue),
290        #[prost(message, tag = "13")]
291        ExtVal(super::ExtendedValue),
292    }
293}
294#[derive(Clone, Copy, PartialEq, ::prost::Message)]
295pub struct NullValue {}
296#[derive(Clone, Copy, PartialEq, ::prost::Message)]
297pub struct IntValue {
298    #[prost(int64, tag = "1")]
299    pub value: i64,
300    #[prost(enumeration = "IntKind", tag = "2")]
301    pub kind: i32,
302}
303#[derive(Clone, Copy, PartialEq, ::prost::Message)]
304pub struct DoubleValue {
305    #[prost(double, tag = "1")]
306    pub value: f64,
307    #[prost(enumeration = "FloatKind", tag = "2")]
308    pub kind: i32,
309}
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct StringValue {
312    #[prost(string, tag = "1")]
313    pub value: ::prost::alloc::string::String,
314    #[prost(enumeration = "StringKind", tag = "2")]
315    pub kind: i32,
316}
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct DecimalValue {
319    /// i128 as decimal string
320    #[prost(string, tag = "1")]
321    pub coeff: ::prost::alloc::string::String,
322    #[prost(uint32, tag = "2")]
323    pub scale: u32,
324    #[prost(uint32, tag = "3")]
325    pub orig_scale: u32,
326    #[prost(string, tag = "4")]
327    pub orig_repr: ::prost::alloc::string::String,
328}
329#[derive(Clone, PartialEq, ::prost::Message)]
330pub struct BytesValue {
331    #[prost(bytes = "vec", tag = "1")]
332    pub value: ::prost::alloc::vec::Vec<u8>,
333    #[prost(enumeration = "BytesKind", tag = "2")]
334    pub kind: i32,
335}
336#[derive(Clone, PartialEq, ::prost::Message)]
337pub struct ListValue {
338    #[prost(message, repeated, tag = "1")]
339    pub values: ::prost::alloc::vec::Vec<Value>,
340}
341#[derive(Clone, PartialEq, ::prost::Message)]
342pub struct MapEntry {
343    #[prost(string, tag = "1")]
344    pub key: ::prost::alloc::string::String,
345    #[prost(message, optional, tag = "2")]
346    pub value: ::core::option::Option<Value>,
347}
348#[derive(Clone, PartialEq, ::prost::Message)]
349pub struct MapValue {
350    #[prost(message, repeated, tag = "1")]
351    pub entries: ::prost::alloc::vec::Vec<MapEntry>,
352}
353#[derive(Clone, PartialEq, ::prost::Message)]
354pub struct NodeValue {
355    #[prost(uint64, tag = "1")]
356    pub id: u64,
357    #[prost(string, repeated, tag = "2")]
358    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
359    #[prost(message, repeated, tag = "3")]
360    pub properties: ::prost::alloc::vec::Vec<MapEntry>,
361}
362#[derive(Clone, PartialEq, ::prost::Message)]
363pub struct EdgeValue {
364    #[prost(uint64, tag = "1")]
365    pub id: u64,
366    #[prost(uint64, tag = "2")]
367    pub from_id: u64,
368    #[prost(uint64, tag = "3")]
369    pub to_id: u64,
370    #[prost(string, tag = "4")]
371    pub label: ::prost::alloc::string::String,
372    #[prost(message, repeated, tag = "5")]
373    pub properties: ::prost::alloc::vec::Vec<MapEntry>,
374}
375#[derive(Clone, PartialEq, ::prost::Message)]
376pub struct PathValue {
377    #[prost(message, repeated, tag = "1")]
378    pub nodes: ::prost::alloc::vec::Vec<NodeValue>,
379    #[prost(message, repeated, tag = "2")]
380    pub edges: ::prost::alloc::vec::Vec<EdgeValue>,
381}
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct ExtendedValue {
384    #[prost(string, tag = "1")]
385    pub type_name: ::prost::alloc::string::String,
386    #[prost(oneof = "extended_value::Data", tags = "2, 3, 4, 5, 6")]
387    pub data: ::core::option::Option<extended_value::Data>,
388}
389/// Nested message and enum types in `ExtendedValue`.
390pub mod extended_value {
391    #[derive(Clone, PartialEq, ::prost::Oneof)]
392    pub enum Data {
393        #[prost(string, tag = "2")]
394        Text(::prost::alloc::string::String),
395        #[prost(bytes, tag = "3")]
396        Bytes(::prost::alloc::vec::Vec<u8>),
397        #[prost(int64, tag = "4")]
398        IntVal(i64),
399        #[prost(double, tag = "5")]
400        DoubleVal(f64),
401        #[prost(bool, tag = "6")]
402        BoolVal(bool),
403    }
404}
405#[derive(Clone, PartialEq, ::prost::Message)]
406pub struct Error {
407    #[prost(string, tag = "1")]
408    pub code: ::prost::alloc::string::String,
409    #[prost(string, tag = "2")]
410    pub message: ::prost::alloc::string::String,
411    /// "ERROR"
412    #[prost(string, tag = "3")]
413    pub r#type: ::prost::alloc::string::String,
414    #[prost(string, tag = "4")]
415    pub anchor: ::prost::alloc::string::String,
416}
417#[derive(Clone, Copy, PartialEq, ::prost::Message)]
418pub struct ExecutionMetrics {
419    #[prost(int64, tag = "1")]
420    pub parse_duration_ns: i64,
421    #[prost(int64, tag = "2")]
422    pub plan_duration_ns: i64,
423    #[prost(int64, tag = "3")]
424    pub execute_duration_ns: i64,
425    #[prost(int64, tag = "4")]
426    pub total_duration_ns: i64,
427}
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct ExplainOp {
430    #[prost(uint32, tag = "1")]
431    pub idx: u32,
432    #[prost(string, tag = "2")]
433    pub kind: ::prost::alloc::string::String,
434    #[prost(int64, tag = "3")]
435    pub est_rows: i64,
436    #[prost(int64, tag = "4")]
437    pub cost: i64,
438}
439#[derive(Clone, Copy, PartialEq, ::prost::Message)]
440pub struct ExplainTotals {
441    #[prost(int64, tag = "1")]
442    pub est_rows: i64,
443    #[prost(int64, tag = "2")]
444    pub cost: i64,
445}
446#[derive(Clone, PartialEq, ::prost::Message)]
447pub struct ExplainProperties {
448    #[prost(bool, tag = "1")]
449    pub ordered: bool,
450    #[prost(uint64, tag = "2")]
451    pub limit: u64,
452    #[prost(uint64, tag = "3")]
453    pub offset: u64,
454    #[prost(bool, tag = "4")]
455    pub distinct: bool,
456    #[prost(string, tag = "5")]
457    pub union_mode: ::prost::alloc::string::String,
458    #[prost(uint32, tag = "6")]
459    pub union_part_count: u32,
460}
461#[derive(Clone, Copy, PartialEq, ::prost::Message)]
462pub struct ExplainCalibrationEntry {
463    #[prost(uint32, tag = "1")]
464    pub idx: u32,
465    #[prost(double, tag = "2")]
466    pub est_rows: f64,
467    #[prost(double, tag = "3")]
468    pub actual_rows: f64,
469}
470#[derive(Clone, PartialEq, ::prost::Message)]
471pub struct ExplainCalibration {
472    #[prost(double, tag = "1")]
473    pub mape: f64,
474    #[prost(message, repeated, tag = "2")]
475    pub entries: ::prost::alloc::vec::Vec<ExplainCalibrationEntry>,
476}
477#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct ExplainPayload {
479    #[prost(string, tag = "1")]
480    pub schema: ::prost::alloc::string::String,
481    #[prost(message, repeated, tag = "2")]
482    pub ops: ::prost::alloc::vec::Vec<ExplainOp>,
483    #[prost(message, optional, tag = "3")]
484    pub totals: ::core::option::Option<ExplainTotals>,
485    #[prost(message, optional, tag = "4")]
486    pub properties: ::core::option::Option<ExplainProperties>,
487    #[prost(message, optional, tag = "5")]
488    pub calibration: ::core::option::Option<ExplainCalibration>,
489    #[prost(uint32, tag = "6")]
490    pub profile_version: u32,
491}
492#[derive(Clone, PartialEq, ::prost::Message)]
493pub struct ProfileOp {
494    #[prost(string, tag = "1")]
495    pub op: ::prost::alloc::string::String,
496    #[prost(string, tag = "2")]
497    pub phase: ::prost::alloc::string::String,
498    #[prost(uint32, tag = "3")]
499    pub id: u32,
500    #[prost(uint32, tag = "4")]
501    pub op_index: u32,
502    #[prost(uint64, tag = "5")]
503    pub input_rows: u64,
504    #[prost(uint64, tag = "6")]
505    pub rows: u64,
506    #[prost(uint64, tag = "7")]
507    pub time_ns: u64,
508    #[prost(uint64, tag = "8")]
509    pub cpu_time_ns: u64,
510    #[prost(uint64, tag = "9")]
511    pub bytes_out: u64,
512    #[prost(uint64, tag = "10")]
513    pub bytes_alloc: u64,
514    #[prost(uint64, tag = "11")]
515    pub estimate_bytes: u64,
516    #[prost(uint64, tag = "12")]
517    pub estimate_vs_actual: u64,
518    #[prost(uint64, tag = "13")]
519    pub percent_peak: u64,
520    #[prost(uint64, tag = "14")]
521    pub percent_net: u64,
522    #[prost(uint64, tag = "15")]
523    pub cumulative_time_ns: u64,
524    #[prost(uint64, tag = "16")]
525    pub freed_bytes: u64,
526    #[prost(uint64, tag = "17")]
527    pub net_after_op: u64,
528    #[prost(uint64, tag = "18")]
529    pub error_bytes: u64,
530    #[prost(uint64, tag = "19")]
531    pub error_abs_pct: u64,
532    #[prost(string, tag = "20")]
533    pub index_name: ::prost::alloc::string::String,
534    #[prost(double, tag = "21")]
535    pub selectivity_est: f64,
536}
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct ProfilePeakContributor {
539    #[prost(string, tag = "1")]
540    pub op: ::prost::alloc::string::String,
541    #[prost(uint64, tag = "2")]
542    pub bytes_alloc: u64,
543}
544#[derive(Clone, Copy, PartialEq, ::prost::Message)]
545pub struct ProfileTotals {
546    #[prost(uint64, tag = "1")]
547    pub time_ns: u64,
548    #[prost(uint64, tag = "2")]
549    pub peak_bytes: u64,
550}
551#[derive(Clone, PartialEq, ::prost::Message)]
552pub struct ProfileSpills {
553    #[prost(uint64, tag = "1")]
554    pub sort_spills: u64,
555    #[prost(uint64, tag = "2")]
556    pub distinct_spills: u64,
557    #[prost(uint64, tag = "3")]
558    pub union_spills: u64,
559    #[prost(string, tag = "4")]
560    pub spill_reason: ::prost::alloc::string::String,
561    #[prost(uint64, tag = "5")]
562    pub peak_bytes_at_spill: u64,
563    #[prost(uint32, tag = "6")]
564    pub first_spill_op_index: u32,
565}
566#[derive(Clone, Copy, PartialEq, ::prost::Message)]
567pub struct ProfileMemory {
568    #[prost(uint64, tag = "1")]
569    pub net_bytes: u64,
570    #[prost(uint64, tag = "2")]
571    pub peak_bytes: u64,
572    #[prost(uint64, tag = "3")]
573    pub total_alloc_bytes: u64,
574}
575#[derive(Clone, Copy, PartialEq, ::prost::Message)]
576pub struct ProfilePlannerEstimates {
577    #[prost(uint64, tag = "1")]
578    pub sum_estimate_bytes: u64,
579    #[prost(uint64, tag = "2")]
580    pub sum_actual_bytes: u64,
581    #[prost(uint32, tag = "3")]
582    pub count_estimated_ops: u32,
583    #[prost(double, tag = "4")]
584    pub min_error_abs_pct: f64,
585    #[prost(double, tag = "5")]
586    pub max_error_abs_pct: f64,
587    #[prost(double, tag = "6")]
588    pub mean_error_abs_pct: f64,
589    #[prost(double, tag = "7")]
590    pub median_error_abs_pct: f64,
591    #[prost(double, tag = "8")]
592    pub stddev_error_abs_pct: f64,
593    #[prost(double, tag = "9")]
594    pub adjusted_estimate_factor: f64,
595}
596#[derive(Clone, Copy, PartialEq, ::prost::Message)]
597pub struct ProfileMemCurvePoint {
598    #[prost(uint32, tag = "1")]
599    pub op_index: u32,
600    #[prost(uint64, tag = "2")]
601    pub net_after_op: u64,
602}
603#[derive(Clone, PartialEq, ::prost::Message)]
604pub struct ProfileSetOp {
605    #[prost(string, tag = "1")]
606    pub r#type: ::prost::alloc::string::String,
607    #[prost(string, tag = "2")]
608    pub mode: ::prost::alloc::string::String,
609    #[prost(uint64, tag = "3")]
610    pub input_rows: u64,
611    #[prost(uint64, tag = "4")]
612    pub output_rows: u64,
613    #[prost(uint64, tag = "5")]
614    pub hash_dedup_size: u64,
615    #[prost(uint64, tag = "6")]
616    pub distinct_fill_pct: u64,
617}
618#[derive(Clone, PartialEq, ::prost::Message)]
619pub struct ProfilePayload {
620    #[prost(uint32, tag = "1")]
621    pub profile_version: u32,
622    #[prost(message, repeated, tag = "2")]
623    pub ops: ::prost::alloc::vec::Vec<ProfileOp>,
624    #[prost(message, repeated, tag = "3")]
625    pub peak_contributors: ::prost::alloc::vec::Vec<ProfilePeakContributor>,
626    #[prost(message, optional, tag = "4")]
627    pub totals: ::core::option::Option<ProfileTotals>,
628    #[prost(uint64, tag = "5")]
629    pub total_time_ns: u64,
630    #[prost(message, optional, tag = "6")]
631    pub spills: ::core::option::Option<ProfileSpills>,
632    #[prost(message, optional, tag = "7")]
633    pub memory: ::core::option::Option<ProfileMemory>,
634    #[prost(message, optional, tag = "8")]
635    pub planner_estimates: ::core::option::Option<ProfilePlannerEstimates>,
636    #[prost(message, repeated, tag = "9")]
637    pub mem_curve: ::prost::alloc::vec::Vec<ProfileMemCurvePoint>,
638    #[prost(message, optional, tag = "10")]
639    pub setop: ::core::option::Option<ProfileSetOp>,
640    #[prost(uint64, tag = "11")]
641    pub hashagg_spills: u64,
642    #[prost(string, tag = "12")]
643    pub hashagg_spill_reason: ::prost::alloc::string::String,
644    #[prost(uint64, tag = "13")]
645    pub committed_txns: u64,
646    #[prost(uint64, tag = "14")]
647    pub graph_store_nodes: u64,
648    #[prost(uint64, tag = "15")]
649    pub graph_store_edges: u64,
650    #[prost(bool, tag = "16")]
651    pub graph_store_dirty: bool,
652    #[prost(string, repeated, tag = "17")]
653    pub flagger_findings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
654    #[prost(bool, tag = "18")]
655    pub compact: bool,
656}
657#[derive(Clone, Copy, PartialEq, ::prost::Message)]
658pub struct Heartbeat {}
659/// ============================================================================
660/// Utilities (PING)
661/// ============================================================================
662#[derive(Clone, Copy, PartialEq, ::prost::Message)]
663pub struct PingRequest {}
664#[derive(Clone, Copy, PartialEq, ::prost::Message)]
665pub struct PingResponse {
666    #[prost(bool, tag = "1")]
667    pub ok: bool,
668}
669/// ============================================================================
670/// Transactions
671/// ============================================================================
672#[derive(Clone, PartialEq, ::prost::Message)]
673pub struct BeginRequest {
674    #[prost(bool, tag = "1")]
675    pub read_only: bool,
676    /// Required for gRPC; ignored for QUIC
677    #[prost(string, tag = "2")]
678    pub session_id: ::prost::alloc::string::String,
679}
680#[derive(Clone, PartialEq, ::prost::Message)]
681pub struct BeginResponse {
682    #[prost(string, tag = "1")]
683    pub session_id: ::prost::alloc::string::String,
684    #[prost(string, tag = "2")]
685    pub tx_id: ::prost::alloc::string::String,
686}
687#[derive(Clone, PartialEq, ::prost::Message)]
688pub struct CommitRequest {
689    /// Required for gRPC; ignored for QUIC
690    #[prost(string, tag = "1")]
691    pub session_id: ::prost::alloc::string::String,
692}
693#[derive(Clone, Copy, PartialEq, ::prost::Message)]
694pub struct CommitResponse {
695    #[prost(bool, tag = "1")]
696    pub success: bool,
697}
698#[derive(Clone, PartialEq, ::prost::Message)]
699pub struct RollbackRequest {
700    /// Required for gRPC; ignored for QUIC
701    #[prost(string, tag = "1")]
702    pub session_id: ::prost::alloc::string::String,
703}
704#[derive(Clone, Copy, PartialEq, ::prost::Message)]
705pub struct RollbackResponse {
706    #[prost(bool, tag = "1")]
707    pub success: bool,
708}
709#[derive(Clone, PartialEq, ::prost::Message)]
710pub struct SavepointRequest {
711    #[prost(string, tag = "1")]
712    pub name: ::prost::alloc::string::String,
713    /// Required for gRPC; ignored for QUIC
714    #[prost(string, tag = "2")]
715    pub session_id: ::prost::alloc::string::String,
716}
717#[derive(Clone, Copy, PartialEq, ::prost::Message)]
718pub struct SavepointResponse {
719    #[prost(bool, tag = "1")]
720    pub success: bool,
721}
722#[derive(Clone, PartialEq, ::prost::Message)]
723pub struct RollbackToRequest {
724    #[prost(string, tag = "1")]
725    pub name: ::prost::alloc::string::String,
726    /// Required for gRPC; ignored for QUIC
727    #[prost(string, tag = "2")]
728    pub session_id: ::prost::alloc::string::String,
729}
730#[derive(Clone, Copy, PartialEq, ::prost::Message)]
731pub struct RollbackToResponse {
732    #[prost(bool, tag = "1")]
733    pub success: bool,
734}
735/// ============================================================================
736/// CDC
737/// ============================================================================
738#[derive(Clone, Copy, PartialEq, ::prost::Message)]
739pub struct CdcDiagnosticsRequest {}
740#[derive(Clone, Copy, PartialEq, ::prost::Message)]
741pub struct CdcDiagnosticsConfig {
742    #[prost(bool, tag = "1")]
743    pub enabled: bool,
744    #[prost(uint64, tag = "2")]
745    pub malformed_snapshot_interval: u64,
746    #[prost(uint32, tag = "3")]
747    pub malformed_hash_retain: u32,
748    #[prost(double, tag = "4")]
749    pub malformed_warn_pct: f64,
750    #[prost(double, tag = "5")]
751    pub malformed_abort_pct: f64,
752    #[prost(uint32, tag = "6")]
753    pub flush_interval_ms: u32,
754    #[prost(uint32, tag = "7")]
755    pub batch_size: u32,
756    #[prost(uint64, tag = "8")]
757    pub pending_backpressure_watermark: u64,
758}
759#[derive(Clone, Copy, PartialEq, ::prost::Message)]
760pub struct CdcDiagnosticsEngine {
761    #[prost(bool, tag = "1")]
762    pub is_running: bool,
763    #[prost(int64, tag = "2")]
764    pub last_flush_ms: i64,
765    #[prost(uint64, tag = "3")]
766    pub peak_buffer: u64,
767    #[prost(uint64, tag = "4")]
768    pub current_buffer: u64,
769    #[prost(uint32, tag = "5")]
770    pub dynamic_batch_size: u32,
771    #[prost(uint32, tag = "6")]
772    pub batch_adjustments: u32,
773}
774#[derive(Clone, Copy, PartialEq, ::prost::Message)]
775pub struct CdcMalformedSnapshot {
776    #[prost(uint64, tag = "1")]
777    pub count: u64,
778    #[prost(int64, tag = "2")]
779    pub ts_ms: i64,
780}
781#[derive(Clone, PartialEq, ::prost::Message)]
782pub struct CdcMalformedHash {
783    #[prost(uint64, tag = "1")]
784    pub count: u64,
785    #[prost(uint64, tag = "2")]
786    pub hash: u64,
787    #[prost(int64, tag = "3")]
788    pub ts_ms: i64,
789    #[prost(string, tag = "4")]
790    pub prefix_hex: ::prost::alloc::string::String,
791}
792#[derive(Clone, PartialEq, ::prost::Message)]
793pub struct CdcDiagnosticsResponse {
794    #[prost(uint64, tag = "1")]
795    pub malformed_change_records: u64,
796    #[prost(uint64, tag = "2")]
797    pub total_change_attempts: u64,
798    #[prost(double, tag = "3")]
799    pub malformed_ratio: f64,
800    #[prost(bool, tag = "4")]
801    pub guardrail_warn_triggered: bool,
802    #[prost(bool, tag = "5")]
803    pub guardrail_abort_triggered: bool,
804    #[prost(int64, tag = "6")]
805    pub first_warn_ts_ms: i64,
806    #[prost(int64, tag = "7")]
807    pub first_abort_ts_ms: i64,
808    #[prost(uint64, tag = "8")]
809    pub guardrail_epoch: u64,
810    #[prost(int64, tag = "9")]
811    pub uptime_ms: i64,
812    #[prost(bool, tag = "10")]
813    pub backpressure: bool,
814    #[prost(message, optional, tag = "11")]
815    pub config: ::core::option::Option<CdcDiagnosticsConfig>,
816    #[prost(message, optional, tag = "12")]
817    pub engine: ::core::option::Option<CdcDiagnosticsEngine>,
818    #[prost(message, repeated, tag = "13")]
819    pub malformed_snapshots: ::prost::alloc::vec::Vec<CdcMalformedSnapshot>,
820    #[prost(message, repeated, tag = "14")]
821    pub malformed_hashes: ::prost::alloc::vec::Vec<CdcMalformedHash>,
822    #[prost(string, tag = "15")]
823    pub version: ::prost::alloc::string::String,
824    #[prost(int64, tag = "16")]
825    pub timestamp_ms: i64,
826}
827#[derive(Clone, PartialEq, ::prost::Message)]
828pub struct CdcControlRequest {
829    #[prost(string, tag = "1")]
830    pub action: ::prost::alloc::string::String,
831}
832#[derive(Clone, PartialEq, ::prost::Message)]
833pub struct CdcControlResponse {
834    #[prost(bool, tag = "1")]
835    pub success: bool,
836    #[prost(string, tag = "2")]
837    pub status: ::prost::alloc::string::String,
838    #[prost(uint64, tag = "3")]
839    pub guardrail_epoch: u64,
840}
841/// ============================================================================
842/// Backup / Restore
843/// ============================================================================
844#[derive(Clone, PartialEq, ::prost::Message)]
845pub struct BackupRequest {
846    /// "full"
847    #[prost(string, tag = "1")]
848    pub backup_type: ::prost::alloc::string::String,
849    #[prost(bool, tag = "3")]
850    pub compress: bool,
851}
852#[derive(Clone, PartialEq, ::prost::Message)]
853pub struct BackupResponse {
854    #[prost(bool, tag = "1")]
855    pub success: bool,
856    #[prost(string, tag = "2")]
857    pub message: ::prost::alloc::string::String,
858    #[prost(string, tag = "3")]
859    pub backup_id: ::prost::alloc::string::String,
860    #[prost(string, tag = "4")]
861    pub backup_type: ::prost::alloc::string::String,
862    #[prost(uint64, tag = "5")]
863    pub size_bytes: u64,
864    #[prost(string, tag = "6")]
865    pub compression: ::prost::alloc::string::String,
866    #[prost(string, tag = "7")]
867    pub checksum: ::prost::alloc::string::String,
868}
869#[derive(Clone, PartialEq, ::prost::Message)]
870pub struct RestoreRequest {
871    #[prost(string, tag = "1")]
872    pub target_time: ::prost::alloc::string::String,
873    #[prost(bool, tag = "2")]
874    pub confirm: bool,
875}
876#[derive(Clone, PartialEq, ::prost::Message)]
877pub struct RestoreResponse {
878    #[prost(bool, tag = "1")]
879    pub success: bool,
880    #[prost(string, tag = "2")]
881    pub message: ::prost::alloc::string::String,
882    #[prost(string, tag = "3")]
883    pub restore_dir: ::prost::alloc::string::String,
884    #[prost(string, tag = "4")]
885    pub target_time: ::prost::alloc::string::String,
886    #[prost(uint64, tag = "5")]
887    pub restore_timestamp: u64,
888}
889#[derive(Clone, PartialEq, ::prost::Message)]
890pub struct UploadBackupRequest {
891    #[prost(uint64, tag = "1")]
892    pub size_bytes: u64,
893    #[prost(string, tag = "2")]
894    pub checksum: ::prost::alloc::string::String,
895}
896#[derive(Clone, PartialEq, ::prost::Message)]
897pub struct UploadBackupResponse {
898    #[prost(bool, tag = "1")]
899    pub success: bool,
900    #[prost(string, tag = "2")]
901    pub message: ::prost::alloc::string::String,
902    #[prost(string, tag = "3")]
903    pub upload_path: ::prost::alloc::string::String,
904}
905#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
906#[repr(i32)]
907pub enum IntKind {
908    Unspecified = 0,
909    Int = 1,
910    Smallint = 2,
911    Bigint = 3,
912}
913impl IntKind {
914    /// String value of the enum field names used in the ProtoBuf definition.
915    ///
916    /// The values are not transformed in any way and thus are considered stable
917    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
918    pub fn as_str_name(&self) -> &'static str {
919        match self {
920            Self::Unspecified => "INT_KIND_UNSPECIFIED",
921            Self::Int => "INT",
922            Self::Smallint => "SMALLINT",
923            Self::Bigint => "BIGINT",
924        }
925    }
926    /// Creates an enum from field names used in the ProtoBuf definition.
927    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
928        match value {
929            "INT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
930            "INT" => Some(Self::Int),
931            "SMALLINT" => Some(Self::Smallint),
932            "BIGINT" => Some(Self::Bigint),
933            _ => None,
934        }
935    }
936}
937#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
938#[repr(i32)]
939pub enum FloatKind {
940    Unspecified = 0,
941    Double = 1,
942    Real = 2,
943}
944impl FloatKind {
945    /// String value of the enum field names used in the ProtoBuf definition.
946    ///
947    /// The values are not transformed in any way and thus are considered stable
948    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
949    pub fn as_str_name(&self) -> &'static str {
950        match self {
951            Self::Unspecified => "FLOAT_KIND_UNSPECIFIED",
952            Self::Double => "DOUBLE",
953            Self::Real => "REAL",
954        }
955    }
956    /// Creates an enum from field names used in the ProtoBuf definition.
957    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
958        match value {
959            "FLOAT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
960            "DOUBLE" => Some(Self::Double),
961            "REAL" => Some(Self::Real),
962            _ => None,
963        }
964    }
965}
966#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
967#[repr(i32)]
968pub enum StringKind {
969    Unspecified = 0,
970    String = 1,
971    Char = 2,
972    Varchar = 3,
973    Text = 4,
974}
975impl StringKind {
976    /// String value of the enum field names used in the ProtoBuf definition.
977    ///
978    /// The values are not transformed in any way and thus are considered stable
979    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
980    pub fn as_str_name(&self) -> &'static str {
981        match self {
982            Self::Unspecified => "STRING_KIND_UNSPECIFIED",
983            Self::String => "STRING",
984            Self::Char => "CHAR",
985            Self::Varchar => "VARCHAR",
986            Self::Text => "TEXT",
987        }
988    }
989    /// Creates an enum from field names used in the ProtoBuf definition.
990    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
991        match value {
992            "STRING_KIND_UNSPECIFIED" => Some(Self::Unspecified),
993            "STRING" => Some(Self::String),
994            "CHAR" => Some(Self::Char),
995            "VARCHAR" => Some(Self::Varchar),
996            "TEXT" => Some(Self::Text),
997            _ => None,
998        }
999    }
1000}
1001#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1002#[repr(i32)]
1003pub enum BytesKind {
1004    Unspecified = 0,
1005    Bytea = 1,
1006    Raw = 2,
1007}
1008impl BytesKind {
1009    /// String value of the enum field names used in the ProtoBuf definition.
1010    ///
1011    /// The values are not transformed in any way and thus are considered stable
1012    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1013    pub fn as_str_name(&self) -> &'static str {
1014        match self {
1015            Self::Unspecified => "BYTES_KIND_UNSPECIFIED",
1016            Self::Bytea => "BYTEA",
1017            Self::Raw => "RAW",
1018        }
1019    }
1020    /// Creates an enum from field names used in the ProtoBuf definition.
1021    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1022        match value {
1023            "BYTES_KIND_UNSPECIFIED" => Some(Self::Unspecified),
1024            "BYTEA" => Some(Self::Bytea),
1025            "RAW" => Some(Self::Raw),
1026            _ => None,
1027        }
1028    }
1029}
1030/// Generated client implementations.
1031pub mod geode_service_client {
1032    #![allow(
1033        unused_variables,
1034        dead_code,
1035        missing_docs,
1036        clippy::wildcard_imports,
1037        clippy::let_unit_value
1038    )]
1039    use tonic::codegen::http::Uri;
1040    use tonic::codegen::*;
1041    /// GeodeService provides gRPC access to the Geode database.
1042    #[derive(Debug, Clone)]
1043    pub struct GeodeServiceClient<T> {
1044        inner: tonic::client::Grpc<T>,
1045    }
1046    impl GeodeServiceClient<tonic::transport::Channel> {
1047        /// Attempt to create a new client by connecting to a given endpoint.
1048        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1049        where
1050            D: TryInto<tonic::transport::Endpoint>,
1051            D::Error: Into<StdError>,
1052        {
1053            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1054            Ok(Self::new(conn))
1055        }
1056    }
1057    impl<T> GeodeServiceClient<T>
1058    where
1059        T: tonic::client::GrpcService<tonic::body::BoxBody>,
1060        T::Error: Into<StdError>,
1061        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1062        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1063    {
1064        pub fn new(inner: T) -> Self {
1065            let inner = tonic::client::Grpc::new(inner);
1066            Self { inner }
1067        }
1068        pub fn with_origin(inner: T, origin: Uri) -> Self {
1069            let inner = tonic::client::Grpc::with_origin(inner, origin);
1070            Self { inner }
1071        }
1072        pub fn with_interceptor<F>(
1073            inner: T,
1074            interceptor: F,
1075        ) -> GeodeServiceClient<InterceptedService<T, F>>
1076        where
1077            F: tonic::service::Interceptor,
1078            T::ResponseBody: Default,
1079            T: tonic::codegen::Service<
1080                    http::Request<tonic::body::BoxBody>,
1081                    Response = http::Response<
1082                        <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1083                    >,
1084                >,
1085            <T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
1086                Into<StdError> + std::marker::Send + std::marker::Sync,
1087        {
1088            GeodeServiceClient::new(InterceptedService::new(inner, interceptor))
1089        }
1090        /// Compress requests with the given encoding.
1091        ///
1092        /// This requires the server to support it otherwise it might respond with an
1093        /// error.
1094        #[must_use]
1095        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1096            self.inner = self.inner.send_compressed(encoding);
1097            self
1098        }
1099        /// Enable decompressing responses.
1100        #[must_use]
1101        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1102            self.inner = self.inner.accept_compressed(encoding);
1103            self
1104        }
1105        /// Limits the maximum size of a decoded message.
1106        ///
1107        /// Default: `4MB`
1108        #[must_use]
1109        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1110            self.inner = self.inner.max_decoding_message_size(limit);
1111            self
1112        }
1113        /// Limits the maximum size of an encoded message.
1114        ///
1115        /// Default: `usize::MAX`
1116        #[must_use]
1117        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1118            self.inner = self.inner.max_encoding_message_size(limit);
1119            self
1120        }
1121        pub async fn handshake(
1122            &mut self,
1123            request: impl tonic::IntoRequest<super::HelloRequest>,
1124        ) -> std::result::Result<tonic::Response<super::HelloResponse>, tonic::Status> {
1125            self.inner.ready().await.map_err(|e| {
1126                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1127            })?;
1128            let codec = tonic::codec::ProstCodec::default();
1129            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Handshake");
1130            let mut req = request.into_request();
1131            req.extensions_mut()
1132                .insert(GrpcMethod::new("geode.GeodeService", "Handshake"));
1133            self.inner.unary(req, path, codec).await
1134        }
1135        pub async fn execute(
1136            &mut self,
1137            request: impl tonic::IntoRequest<super::ExecuteRequest>,
1138        ) -> std::result::Result<
1139            tonic::Response<tonic::codec::Streaming<super::ExecutionResponse>>,
1140            tonic::Status,
1141        > {
1142            self.inner.ready().await.map_err(|e| {
1143                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1144            })?;
1145            let codec = tonic::codec::ProstCodec::default();
1146            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Execute");
1147            let mut req = request.into_request();
1148            req.extensions_mut()
1149                .insert(GrpcMethod::new("geode.GeodeService", "Execute"));
1150            self.inner.server_streaming(req, path, codec).await
1151        }
1152        pub async fn ping(
1153            &mut self,
1154            request: impl tonic::IntoRequest<super::PingRequest>,
1155        ) -> std::result::Result<tonic::Response<super::PingResponse>, tonic::Status> {
1156            self.inner.ready().await.map_err(|e| {
1157                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1158            })?;
1159            let codec = tonic::codec::ProstCodec::default();
1160            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Ping");
1161            let mut req = request.into_request();
1162            req.extensions_mut()
1163                .insert(GrpcMethod::new("geode.GeodeService", "Ping"));
1164            self.inner.unary(req, path, codec).await
1165        }
1166        pub async fn begin(
1167            &mut self,
1168            request: impl tonic::IntoRequest<super::BeginRequest>,
1169        ) -> std::result::Result<tonic::Response<super::BeginResponse>, tonic::Status> {
1170            self.inner.ready().await.map_err(|e| {
1171                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1172            })?;
1173            let codec = tonic::codec::ProstCodec::default();
1174            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Begin");
1175            let mut req = request.into_request();
1176            req.extensions_mut()
1177                .insert(GrpcMethod::new("geode.GeodeService", "Begin"));
1178            self.inner.unary(req, path, codec).await
1179        }
1180        pub async fn commit(
1181            &mut self,
1182            request: impl tonic::IntoRequest<super::CommitRequest>,
1183        ) -> std::result::Result<tonic::Response<super::CommitResponse>, tonic::Status> {
1184            self.inner.ready().await.map_err(|e| {
1185                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1186            })?;
1187            let codec = tonic::codec::ProstCodec::default();
1188            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Commit");
1189            let mut req = request.into_request();
1190            req.extensions_mut()
1191                .insert(GrpcMethod::new("geode.GeodeService", "Commit"));
1192            self.inner.unary(req, path, codec).await
1193        }
1194        pub async fn rollback(
1195            &mut self,
1196            request: impl tonic::IntoRequest<super::RollbackRequest>,
1197        ) -> std::result::Result<tonic::Response<super::RollbackResponse>, tonic::Status> {
1198            self.inner.ready().await.map_err(|e| {
1199                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1200            })?;
1201            let codec = tonic::codec::ProstCodec::default();
1202            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/Rollback");
1203            let mut req = request.into_request();
1204            req.extensions_mut()
1205                .insert(GrpcMethod::new("geode.GeodeService", "Rollback"));
1206            self.inner.unary(req, path, codec).await
1207        }
1208        pub async fn get_cdc_diagnostics(
1209            &mut self,
1210            request: impl tonic::IntoRequest<super::CdcDiagnosticsRequest>,
1211        ) -> std::result::Result<tonic::Response<super::CdcDiagnosticsResponse>, tonic::Status>
1212        {
1213            self.inner.ready().await.map_err(|e| {
1214                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1215            })?;
1216            let codec = tonic::codec::ProstCodec::default();
1217            let path =
1218                http::uri::PathAndQuery::from_static("/geode.GeodeService/GetCdcDiagnostics");
1219            let mut req = request.into_request();
1220            req.extensions_mut()
1221                .insert(GrpcMethod::new("geode.GeodeService", "GetCdcDiagnostics"));
1222            self.inner.unary(req, path, codec).await
1223        }
1224        pub async fn control_cdc(
1225            &mut self,
1226            request: impl tonic::IntoRequest<super::CdcControlRequest>,
1227        ) -> std::result::Result<tonic::Response<super::CdcControlResponse>, tonic::Status>
1228        {
1229            self.inner.ready().await.map_err(|e| {
1230                tonic::Status::unknown(format!("Service was not ready: {}", e.into()))
1231            })?;
1232            let codec = tonic::codec::ProstCodec::default();
1233            let path = http::uri::PathAndQuery::from_static("/geode.GeodeService/ControlCdc");
1234            let mut req = request.into_request();
1235            req.extensions_mut()
1236                .insert(GrpcMethod::new("geode.GeodeService", "ControlCdc"));
1237            self.inner.unary(req, path, codec).await
1238        }
1239    }
1240}