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