1#[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}
10pub 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}
23pub 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#[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}
42pub 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}
84pub 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#[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 #[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#[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 #[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#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct Status {
195 #[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}
212pub 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#[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}
271pub 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 #[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}
398pub 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 #[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#[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#[derive(Clone, PartialEq, ::prost::Message)]
682pub struct BeginRequest {
683 #[prost(bool, tag = "1")]
684 pub read_only: bool,
685 #[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 #[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 #[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 #[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 #[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#[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#[derive(Clone, PartialEq, ::prost::Message)]
854pub struct BackupRequest {
855 #[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 #[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 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 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 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 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 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 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 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 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}
1049pub 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 #[derive(Debug, Clone)]
1062 pub struct GeodeServiceClient<T> {
1063 inner: tonic::client::Grpc<T>,
1064 }
1065 impl GeodeServiceClient<tonic::transport::Channel> {
1066 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 #[must_use]
1114 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1115 self.inner = self.inner.send_compressed(encoding);
1116 self
1117 }
1118 #[must_use]
1120 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1121 self.inner = self.inner.accept_compressed(encoding);
1122 self
1123 }
1124 #[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 #[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}