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