risingwave_pb/
meta.rs

1// This file is @generated by prost-build.
2#[derive(prost_helpers::AnyPB)]
3#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4pub struct GetTelemetryInfoRequest {}
5#[derive(prost_helpers::AnyPB)]
6#[derive(Clone, PartialEq, ::prost::Message)]
7pub struct TelemetryInfoResponse {
8    #[prost(string, optional, tag = "1")]
9    pub tracking_id: ::core::option::Option<::prost::alloc::string::String>,
10}
11#[derive(prost_helpers::AnyPB)]
12#[derive(Clone, Copy, PartialEq, ::prost::Message)]
13pub struct HeartbeatRequest {
14    #[prost(uint32, tag = "1")]
15    pub node_id: u32,
16}
17#[derive(prost_helpers::AnyPB)]
18#[derive(Clone, PartialEq, ::prost::Message)]
19pub struct HeartbeatResponse {
20    #[prost(message, optional, tag = "1")]
21    pub status: ::core::option::Option<super::common::Status>,
22}
23/// Fragments of a Streaming Job.
24/// It's for all kinds of streaming jobs, and ideally should be called `StreamingJobFragments`.
25/// It's not the same as a storage table correlated with a `TableCatalog`.
26#[derive(prost_helpers::AnyPB)]
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct TableFragments {
29    /// The id of the streaming job.
30    #[prost(uint32, tag = "1")]
31    pub table_id: u32,
32    #[prost(enumeration = "table_fragments::State", tag = "2")]
33    pub state: i32,
34    #[prost(map = "uint32, message", tag = "3")]
35    pub fragments: ::std::collections::HashMap<u32, table_fragments::Fragment>,
36    #[prost(map = "uint32, message", tag = "4")]
37    pub actor_status: ::std::collections::HashMap<u32, table_fragments::ActorStatus>,
38    /// `Source` and `SourceBackfill` are handled together here.
39    #[prost(map = "uint32, message", tag = "5")]
40    pub actor_splits: ::std::collections::HashMap<u32, super::source::ConnectorSplits>,
41    #[prost(message, optional, tag = "6")]
42    pub ctx: ::core::option::Option<super::stream_plan::StreamContext>,
43    #[prost(message, optional, tag = "7")]
44    pub parallelism: ::core::option::Option<TableParallelism>,
45    /// The max parallelism specified when the streaming job was created, i.e., expected vnode count.
46    ///
47    /// The reason for persisting this value is mainly to check if a parallelism change (via `ALTER
48    /// .. SET PARALLELISM`) is valid, so that the behavior can be consistent with the creation of
49    /// the streaming job.
50    ///
51    /// Note that the actual vnode count, denoted by `vnode_count` in `fragments`, may be different
52    /// from this value (see `StreamFragmentGraph.max_parallelism` for more details.). As a result,
53    /// checking the parallelism change with this value can be inaccurate in some cases. However,
54    /// when generating resizing plans, we still take the `vnode_count` of each fragment into account.
55    ///
56    /// Can be unset if the fragment is created in older versions where variable vnode count is not
57    /// supported, in which case a default value of 256 should be used.
58    #[prost(uint32, optional, tag = "10")]
59    pub max_parallelism: ::core::option::Option<u32>,
60    /// Actors of a materialize view, sink, or table can only be scheduled on nodes with matching node_label.
61    #[prost(string, tag = "8")]
62    pub node_label: ::prost::alloc::string::String,
63    /// If this is a materialized view: True if backfill is done, else false.
64    /// If this is a regular table: Always true.
65    #[prost(bool, tag = "9")]
66    pub backfill_done: bool,
67}
68/// Nested message and enum types in `TableFragments`.
69pub mod table_fragments {
70    /// Runtime information of an actor
71    #[derive(prost_helpers::AnyPB)]
72    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
73    pub struct ActorStatus {
74        /// Current on which worker
75        #[prost(message, optional, tag = "1")]
76        pub location: ::core::option::Option<super::super::common::ActorLocation>,
77        /// Current state
78        #[prost(enumeration = "actor_status::ActorState", tag = "2")]
79        pub state: i32,
80    }
81    /// Nested message and enum types in `ActorStatus`.
82    pub mod actor_status {
83        /// Current state of actor
84        #[derive(prost_helpers::AnyPB)]
85        #[derive(
86            Clone,
87            Copy,
88            Debug,
89            PartialEq,
90            Eq,
91            Hash,
92            PartialOrd,
93            Ord,
94            ::prost::Enumeration
95        )]
96        #[repr(i32)]
97        pub enum ActorState {
98            Unspecified = 0,
99            /// Initial state after creation
100            Inactive = 1,
101            /// Running normally
102            Running = 2,
103        }
104        impl ActorState {
105            /// String value of the enum field names used in the ProtoBuf definition.
106            ///
107            /// The values are not transformed in any way and thus are considered stable
108            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
109            pub fn as_str_name(&self) -> &'static str {
110                match self {
111                    Self::Unspecified => "UNSPECIFIED",
112                    Self::Inactive => "INACTIVE",
113                    Self::Running => "RUNNING",
114                }
115            }
116            /// Creates an enum from field names used in the ProtoBuf definition.
117            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
118                match value {
119                    "UNSPECIFIED" => Some(Self::Unspecified),
120                    "INACTIVE" => Some(Self::Inactive),
121                    "RUNNING" => Some(Self::Running),
122                    _ => None,
123                }
124            }
125        }
126    }
127    #[derive(prost_helpers::AnyPB)]
128    #[derive(Clone, PartialEq, ::prost::Message)]
129    pub struct Fragment {
130        #[prost(uint32, tag = "1")]
131        pub fragment_id: u32,
132        /// Bitwise-OR of FragmentTypeFlags
133        #[prost(uint32, tag = "2")]
134        pub fragment_type_mask: u32,
135        #[prost(enumeration = "fragment::FragmentDistributionType", tag = "3")]
136        pub distribution_type: i32,
137        #[prost(message, repeated, tag = "4")]
138        pub actors: ::prost::alloc::vec::Vec<super::super::stream_plan::StreamActor>,
139        #[prost(uint32, repeated, tag = "6")]
140        pub state_table_ids: ::prost::alloc::vec::Vec<u32>,
141        /// Note that this can be derived backwards from the upstream actors of the Actor held by the Fragment,
142        /// but in some scenarios (e.g. Scaling) it will lead to a lot of duplicate code,
143        /// so we pre-generate and store it here, this member will only be initialized when creating the Fragment
144        /// and modified when creating the mv-on-mv
145        #[prost(uint32, repeated, tag = "7")]
146        pub upstream_fragment_ids: ::prost::alloc::vec::Vec<u32>,
147        /// Total vnode count of the fragment (then all internal tables).
148        /// Duplicated from the length of the vnode bitmap in any actor of the fragment.
149        ///
150        /// Can be unset if the fragment is created in older versions where variable vnode count is not
151        /// supported, in which case a default value of 256 (or 1 for singleton) should be used.
152        /// Use `VnodeCountCompat::vnode_count` to access it.
153        #[prost(uint32, optional, tag = "8")]
154        pub maybe_vnode_count: ::core::option::Option<u32>,
155        #[prost(message, optional, tag = "9")]
156        pub nodes: ::core::option::Option<super::super::stream_plan::StreamNode>,
157    }
158    /// Nested message and enum types in `Fragment`.
159    pub mod fragment {
160        #[derive(prost_helpers::AnyPB)]
161        #[derive(
162            Clone,
163            Copy,
164            Debug,
165            PartialEq,
166            Eq,
167            Hash,
168            PartialOrd,
169            Ord,
170            ::prost::Enumeration
171        )]
172        #[repr(i32)]
173        pub enum FragmentDistributionType {
174            Unspecified = 0,
175            Single = 1,
176            Hash = 2,
177        }
178        impl FragmentDistributionType {
179            /// String value of the enum field names used in the ProtoBuf definition.
180            ///
181            /// The values are not transformed in any way and thus are considered stable
182            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
183            pub fn as_str_name(&self) -> &'static str {
184                match self {
185                    Self::Unspecified => "UNSPECIFIED",
186                    Self::Single => "SINGLE",
187                    Self::Hash => "HASH",
188                }
189            }
190            /// Creates an enum from field names used in the ProtoBuf definition.
191            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
192                match value {
193                    "UNSPECIFIED" => Some(Self::Unspecified),
194                    "SINGLE" => Some(Self::Single),
195                    "HASH" => Some(Self::Hash),
196                    _ => None,
197                }
198            }
199        }
200    }
201    /// The state of the fragments of this table
202    #[derive(prost_helpers::AnyPB)]
203    #[derive(
204        Clone,
205        Copy,
206        Debug,
207        PartialEq,
208        Eq,
209        Hash,
210        PartialOrd,
211        Ord,
212        ::prost::Enumeration
213    )]
214    #[repr(i32)]
215    pub enum State {
216        Unspecified = 0,
217        /// The streaming job is initial.
218        Initial = 1,
219        /// The streaming job is creating.
220        Creating = 2,
221        /// The streaming job has been created.
222        Created = 3,
223    }
224    impl State {
225        /// String value of the enum field names used in the ProtoBuf definition.
226        ///
227        /// The values are not transformed in any way and thus are considered stable
228        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
229        pub fn as_str_name(&self) -> &'static str {
230            match self {
231                Self::Unspecified => "UNSPECIFIED",
232                Self::Initial => "INITIAL",
233                Self::Creating => "CREATING",
234                Self::Created => "CREATED",
235            }
236        }
237        /// Creates an enum from field names used in the ProtoBuf definition.
238        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
239            match value {
240                "UNSPECIFIED" => Some(Self::Unspecified),
241                "INITIAL" => Some(Self::Initial),
242                "CREATING" => Some(Self::Creating),
243                "CREATED" => Some(Self::Created),
244                _ => None,
245            }
246        }
247    }
248}
249/// / Worker slot mapping with fragment id, used for notification.
250#[derive(prost_helpers::AnyPB)]
251#[derive(Clone, PartialEq, ::prost::Message)]
252pub struct FragmentWorkerSlotMapping {
253    #[prost(uint32, tag = "1")]
254    pub fragment_id: u32,
255    #[prost(message, optional, tag = "2")]
256    pub mapping: ::core::option::Option<super::common::WorkerSlotMapping>,
257}
258#[derive(prost_helpers::AnyPB)]
259#[derive(Clone, PartialEq, ::prost::Message)]
260pub struct FragmentWorkerSlotMappings {
261    #[prost(message, repeated, tag = "1")]
262    pub mappings: ::prost::alloc::vec::Vec<FragmentWorkerSlotMapping>,
263}
264/// TODO: remove this when dashboard refactored.
265#[derive(prost_helpers::AnyPB)]
266#[derive(Clone, PartialEq, ::prost::Message)]
267pub struct ActorLocation {
268    #[prost(message, optional, tag = "1")]
269    pub node: ::core::option::Option<super::common::WorkerNode>,
270    #[prost(message, repeated, tag = "2")]
271    pub actors: ::prost::alloc::vec::Vec<super::stream_plan::StreamActor>,
272}
273#[derive(prost_helpers::AnyPB)]
274#[derive(Clone, PartialEq, ::prost::Message)]
275pub struct MigrationPlan {
276    /// map<src_worker_slot_id, dst_worker_slot_id>, the plan indicates that the actors will be migrated from old worker_slot to the new one.
277    #[prost(map = "uint64, uint64", tag = "2")]
278    pub worker_slot_migration_plan: ::std::collections::HashMap<u64, u64>,
279}
280#[derive(prost_helpers::AnyPB)]
281#[derive(Clone, Copy, PartialEq, ::prost::Message)]
282pub struct FlushRequest {
283    #[prost(uint32, tag = "1")]
284    pub database_id: u32,
285}
286#[derive(prost_helpers::AnyPB)]
287#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct FlushResponse {
289    #[prost(message, optional, tag = "1")]
290    pub status: ::core::option::Option<super::common::Status>,
291    #[prost(uint64, tag = "2")]
292    pub hummock_version_id: u64,
293}
294#[derive(prost_helpers::AnyPB)]
295#[derive(Clone, Copy, PartialEq, ::prost::Message)]
296pub struct PauseRequest {}
297#[derive(prost_helpers::AnyPB)]
298#[derive(Clone, Copy, PartialEq, ::prost::Message)]
299pub struct PauseResponse {}
300#[derive(prost_helpers::AnyPB)]
301#[derive(Clone, Copy, PartialEq, ::prost::Message)]
302pub struct ResumeRequest {}
303#[derive(prost_helpers::AnyPB)]
304#[derive(Clone, Copy, PartialEq, ::prost::Message)]
305pub struct ResumeResponse {}
306#[derive(prost_helpers::AnyPB)]
307#[derive(Clone, Copy, PartialEq, ::prost::Message)]
308pub struct RefreshRequest {
309    #[prost(uint32, tag = "1")]
310    pub table_id: u32,
311    #[prost(uint32, tag = "2")]
312    pub associated_source_id: u32,
313}
314#[derive(prost_helpers::AnyPB)]
315#[derive(Clone, PartialEq, ::prost::Message)]
316pub struct RefreshResponse {
317    #[prost(message, optional, tag = "1")]
318    pub status: ::core::option::Option<super::common::Status>,
319}
320#[derive(prost_helpers::AnyPB)]
321#[derive(Clone, PartialEq, ::prost::Message)]
322pub struct CancelCreatingJobsRequest {
323    #[prost(oneof = "cancel_creating_jobs_request::Jobs", tags = "1, 2")]
324    pub jobs: ::core::option::Option<cancel_creating_jobs_request::Jobs>,
325}
326/// Nested message and enum types in `CancelCreatingJobsRequest`.
327pub mod cancel_creating_jobs_request {
328    #[derive(prost_helpers::AnyPB)]
329    #[derive(Clone, PartialEq, ::prost::Message)]
330    pub struct CreatingJobInfo {
331        #[prost(uint32, tag = "1")]
332        pub database_id: u32,
333        #[prost(uint32, tag = "2")]
334        pub schema_id: u32,
335        #[prost(string, tag = "3")]
336        pub name: ::prost::alloc::string::String,
337    }
338    #[derive(prost_helpers::AnyPB)]
339    #[derive(Clone, PartialEq, ::prost::Message)]
340    pub struct CreatingJobInfos {
341        #[prost(message, repeated, tag = "1")]
342        pub infos: ::prost::alloc::vec::Vec<CreatingJobInfo>,
343    }
344    #[derive(prost_helpers::AnyPB)]
345    #[derive(Clone, PartialEq, ::prost::Message)]
346    pub struct CreatingJobIds {
347        #[prost(uint32, repeated, tag = "1")]
348        pub job_ids: ::prost::alloc::vec::Vec<u32>,
349    }
350    #[derive(prost_helpers::AnyPB)]
351    #[derive(Clone, PartialEq, ::prost::Oneof)]
352    pub enum Jobs {
353        #[prost(message, tag = "1")]
354        Infos(CreatingJobInfos),
355        #[prost(message, tag = "2")]
356        Ids(CreatingJobIds),
357    }
358}
359#[derive(prost_helpers::AnyPB)]
360#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct CancelCreatingJobsResponse {
362    #[prost(message, optional, tag = "1")]
363    pub status: ::core::option::Option<super::common::Status>,
364    #[prost(uint32, repeated, tag = "2")]
365    pub canceled_jobs: ::prost::alloc::vec::Vec<u32>,
366}
367#[derive(prost_helpers::AnyPB)]
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct ListTableFragmentsRequest {
370    #[prost(uint32, repeated, tag = "1")]
371    pub table_ids: ::prost::alloc::vec::Vec<u32>,
372}
373#[derive(prost_helpers::AnyPB)]
374#[derive(Clone, PartialEq, ::prost::Message)]
375pub struct ListTableFragmentsResponse {
376    #[prost(map = "uint32, message", tag = "1")]
377    pub table_fragments: ::std::collections::HashMap<
378        u32,
379        list_table_fragments_response::TableFragmentInfo,
380    >,
381}
382/// Nested message and enum types in `ListTableFragmentsResponse`.
383pub mod list_table_fragments_response {
384    #[derive(prost_helpers::AnyPB)]
385    #[derive(Clone, PartialEq, ::prost::Message)]
386    pub struct ActorInfo {
387        #[prost(uint32, tag = "1")]
388        pub id: u32,
389        #[prost(message, optional, tag = "2")]
390        pub node: ::core::option::Option<super::super::stream_plan::StreamNode>,
391        #[prost(message, repeated, tag = "3")]
392        pub dispatcher: ::prost::alloc::vec::Vec<super::super::stream_plan::Dispatcher>,
393    }
394    #[derive(prost_helpers::AnyPB)]
395    #[derive(Clone, PartialEq, ::prost::Message)]
396    pub struct FragmentInfo {
397        #[prost(uint32, tag = "1")]
398        pub id: u32,
399        #[prost(message, repeated, tag = "4")]
400        pub actors: ::prost::alloc::vec::Vec<ActorInfo>,
401    }
402    #[derive(prost_helpers::AnyPB)]
403    #[derive(Clone, PartialEq, ::prost::Message)]
404    pub struct TableFragmentInfo {
405        #[prost(message, repeated, tag = "1")]
406        pub fragments: ::prost::alloc::vec::Vec<FragmentInfo>,
407        #[prost(message, optional, tag = "2")]
408        pub ctx: ::core::option::Option<super::super::stream_plan::StreamContext>,
409    }
410}
411#[derive(prost_helpers::AnyPB)]
412#[derive(Clone, Copy, PartialEq, ::prost::Message)]
413pub struct GetFragmentByIdRequest {
414    #[prost(uint32, tag = "1")]
415    pub fragment_id: u32,
416}
417#[derive(prost_helpers::AnyPB)]
418#[derive(Clone, PartialEq, ::prost::Message)]
419pub struct GetFragmentByIdResponse {
420    #[prost(message, optional, tag = "1")]
421    pub distribution: ::core::option::Option<FragmentDistribution>,
422}
423#[derive(prost_helpers::AnyPB)]
424#[derive(Clone, Copy, PartialEq, ::prost::Message)]
425pub struct ListStreamingJobStatesRequest {}
426#[derive(prost_helpers::AnyPB)]
427#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct ListStreamingJobStatesResponse {
429    #[prost(message, repeated, tag = "1")]
430    pub states: ::prost::alloc::vec::Vec<
431        list_streaming_job_states_response::StreamingJobState,
432    >,
433}
434/// Nested message and enum types in `ListStreamingJobStatesResponse`.
435pub mod list_streaming_job_states_response {
436    #[derive(prost_helpers::AnyPB)]
437    #[derive(Clone, PartialEq, ::prost::Message)]
438    pub struct StreamingJobState {
439        #[prost(uint32, tag = "1")]
440        pub table_id: u32,
441        #[prost(enumeration = "super::table_fragments::State", tag = "2")]
442        pub state: i32,
443        #[prost(message, optional, tag = "3")]
444        pub parallelism: ::core::option::Option<super::TableParallelism>,
445        #[prost(uint32, tag = "4")]
446        pub max_parallelism: u32,
447        #[prost(string, tag = "5")]
448        pub name: ::prost::alloc::string::String,
449        #[prost(string, tag = "6")]
450        pub resource_group: ::prost::alloc::string::String,
451        #[prost(uint32, tag = "7")]
452        pub database_id: u32,
453        #[prost(uint32, tag = "8")]
454        pub schema_id: u32,
455    }
456}
457#[derive(prost_helpers::AnyPB)]
458#[derive(Clone, Copy, PartialEq, ::prost::Message)]
459pub struct ListFragmentDistributionRequest {}
460#[derive(prost_helpers::AnyPB)]
461#[derive(Clone, PartialEq, ::prost::Message)]
462pub struct FragmentDistribution {
463    #[prost(uint32, tag = "1")]
464    pub fragment_id: u32,
465    #[prost(uint32, tag = "2")]
466    pub table_id: u32,
467    #[prost(
468        enumeration = "table_fragments::fragment::FragmentDistributionType",
469        tag = "3"
470    )]
471    pub distribution_type: i32,
472    #[prost(uint32, repeated, tag = "4")]
473    pub state_table_ids: ::prost::alloc::vec::Vec<u32>,
474    #[prost(uint32, repeated, tag = "5")]
475    pub upstream_fragment_ids: ::prost::alloc::vec::Vec<u32>,
476    #[prost(uint32, tag = "6")]
477    pub fragment_type_mask: u32,
478    #[prost(uint32, tag = "7")]
479    pub parallelism: u32,
480    #[prost(uint32, tag = "8")]
481    pub vnode_count: u32,
482    #[prost(message, optional, tag = "9")]
483    pub node: ::core::option::Option<super::stream_plan::StreamNode>,
484}
485#[derive(prost_helpers::AnyPB)]
486#[derive(Clone, PartialEq, ::prost::Message)]
487pub struct ListFragmentDistributionResponse {
488    #[prost(message, repeated, tag = "1")]
489    pub distributions: ::prost::alloc::vec::Vec<FragmentDistribution>,
490}
491/// List fragments containing stream scans, and corresponding
492/// to a streaming job in creation.
493#[derive(prost_helpers::AnyPB)]
494#[derive(Clone, Copy, PartialEq, ::prost::Message)]
495pub struct ListCreatingFragmentDistributionRequest {}
496/// List fragments containing stream scans, and corresponding
497/// to a streaming job in creation.
498#[derive(prost_helpers::AnyPB)]
499#[derive(Clone, PartialEq, ::prost::Message)]
500pub struct ListCreatingFragmentDistributionResponse {
501    #[prost(message, repeated, tag = "1")]
502    pub distributions: ::prost::alloc::vec::Vec<FragmentDistribution>,
503}
504#[derive(prost_helpers::AnyPB)]
505#[derive(Clone, Copy, PartialEq, ::prost::Message)]
506pub struct ListActorStatesRequest {}
507#[derive(prost_helpers::AnyPB)]
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct ListActorStatesResponse {
510    #[prost(message, repeated, tag = "1")]
511    pub states: ::prost::alloc::vec::Vec<list_actor_states_response::ActorState>,
512}
513/// Nested message and enum types in `ListActorStatesResponse`.
514pub mod list_actor_states_response {
515    #[derive(prost_helpers::AnyPB)]
516    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
517    pub struct ActorState {
518        #[prost(uint32, tag = "1")]
519        pub actor_id: u32,
520        #[prost(uint32, tag = "2")]
521        pub fragment_id: u32,
522        #[prost(
523            enumeration = "super::table_fragments::actor_status::ActorState",
524            tag = "4"
525        )]
526        pub state: i32,
527        #[prost(uint32, tag = "5")]
528        pub worker_id: u32,
529    }
530}
531#[derive(prost_helpers::AnyPB)]
532#[derive(Clone, Copy, PartialEq, ::prost::Message)]
533pub struct ListActorSplitsRequest {}
534#[derive(prost_helpers::AnyPB)]
535#[derive(Clone, PartialEq, ::prost::Message)]
536pub struct ListActorSplitsResponse {
537    #[prost(message, repeated, tag = "1")]
538    pub actor_splits: ::prost::alloc::vec::Vec<list_actor_splits_response::ActorSplit>,
539}
540/// Nested message and enum types in `ListActorSplitsResponse`.
541pub mod list_actor_splits_response {
542    #[derive(prost_helpers::AnyPB)]
543    #[derive(Clone, PartialEq, ::prost::Message)]
544    pub struct ActorSplit {
545        #[prost(uint32, tag = "1")]
546        pub actor_id: u32,
547        #[prost(uint32, tag = "2")]
548        pub fragment_id: u32,
549        #[prost(uint32, tag = "3")]
550        pub source_id: u32,
551        #[prost(string, tag = "4")]
552        pub split_id: ::prost::alloc::string::String,
553        #[prost(enumeration = "FragmentType", tag = "5")]
554        pub fragment_type: i32,
555    }
556    #[derive(prost_helpers::AnyPB)]
557    #[derive(
558        Clone,
559        Copy,
560        Debug,
561        PartialEq,
562        Eq,
563        Hash,
564        PartialOrd,
565        Ord,
566        ::prost::Enumeration
567    )]
568    #[repr(i32)]
569    pub enum FragmentType {
570        Unspecified = 0,
571        NonSharedSource = 1,
572        SharedSource = 2,
573        SharedSourceBackfill = 3,
574    }
575    impl FragmentType {
576        /// String value of the enum field names used in the ProtoBuf definition.
577        ///
578        /// The values are not transformed in any way and thus are considered stable
579        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
580        pub fn as_str_name(&self) -> &'static str {
581            match self {
582                Self::Unspecified => "UNSPECIFIED",
583                Self::NonSharedSource => "NON_SHARED_SOURCE",
584                Self::SharedSource => "SHARED_SOURCE",
585                Self::SharedSourceBackfill => "SHARED_SOURCE_BACKFILL",
586            }
587        }
588        /// Creates an enum from field names used in the ProtoBuf definition.
589        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
590            match value {
591                "UNSPECIFIED" => Some(Self::Unspecified),
592                "NON_SHARED_SOURCE" => Some(Self::NonSharedSource),
593                "SHARED_SOURCE" => Some(Self::SharedSource),
594                "SHARED_SOURCE_BACKFILL" => Some(Self::SharedSourceBackfill),
595                _ => None,
596            }
597        }
598    }
599}
600#[derive(prost_helpers::AnyPB)]
601#[derive(Clone, Copy, PartialEq, ::prost::Message)]
602pub struct ListObjectDependenciesRequest {}
603#[derive(prost_helpers::AnyPB)]
604#[derive(Clone, PartialEq, ::prost::Message)]
605pub struct ListObjectDependenciesResponse {
606    #[prost(message, repeated, tag = "1")]
607    pub dependencies: ::prost::alloc::vec::Vec<
608        list_object_dependencies_response::ObjectDependencies,
609    >,
610}
611/// Nested message and enum types in `ListObjectDependenciesResponse`.
612pub mod list_object_dependencies_response {
613    #[derive(prost_helpers::AnyPB)]
614    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
615    pub struct ObjectDependencies {
616        #[prost(uint32, tag = "1")]
617        pub object_id: u32,
618        #[prost(uint32, tag = "2")]
619        pub referenced_object_id: u32,
620    }
621}
622#[derive(prost_helpers::AnyPB)]
623#[derive(Clone, Copy, PartialEq, ::prost::Message)]
624pub struct ApplyThrottleRequest {
625    #[prost(enumeration = "ThrottleTarget", tag = "1")]
626    pub kind: i32,
627    #[prost(uint32, tag = "2")]
628    pub id: u32,
629    #[prost(uint32, optional, tag = "3")]
630    pub rate: ::core::option::Option<u32>,
631}
632#[derive(prost_helpers::AnyPB)]
633#[derive(Clone, PartialEq, ::prost::Message)]
634pub struct ApplyThrottleResponse {
635    #[prost(message, optional, tag = "1")]
636    pub status: ::core::option::Option<super::common::Status>,
637}
638#[derive(prost_helpers::AnyPB)]
639#[derive(Clone, Copy, PartialEq, ::prost::Message)]
640pub struct RecoverRequest {}
641#[derive(prost_helpers::AnyPB)]
642#[derive(Clone, Copy, PartialEq, ::prost::Message)]
643pub struct RecoverResponse {}
644#[derive(prost_helpers::AnyPB)]
645#[derive(Clone, PartialEq, ::prost::Message)]
646pub struct AlterConnectorPropsRequest {
647    #[prost(uint32, tag = "1")]
648    pub object_id: u32,
649    #[prost(map = "string, string", tag = "2")]
650    pub changed_props: ::std::collections::HashMap<
651        ::prost::alloc::string::String,
652        ::prost::alloc::string::String,
653    >,
654    #[prost(map = "string, message", tag = "3")]
655    pub changed_secret_refs: ::std::collections::HashMap<
656        ::prost::alloc::string::String,
657        super::secret::SecretRef,
658    >,
659    #[prost(uint32, optional, tag = "4")]
660    pub connector_conn_ref: ::core::option::Option<u32>,
661    #[prost(
662        enumeration = "alter_connector_props_request::AlterConnectorPropsObject",
663        tag = "5"
664    )]
665    pub object_type: i32,
666}
667/// Nested message and enum types in `AlterConnectorPropsRequest`.
668pub mod alter_connector_props_request {
669    #[derive(prost_helpers::AnyPB)]
670    #[derive(
671        Clone,
672        Copy,
673        Debug,
674        PartialEq,
675        Eq,
676        Hash,
677        PartialOrd,
678        Ord,
679        ::prost::Enumeration
680    )]
681    #[repr(i32)]
682    pub enum AlterConnectorPropsObject {
683        Unspecified = 0,
684        Source = 1,
685        Sink = 2,
686        Connection = 3,
687    }
688    impl AlterConnectorPropsObject {
689        /// String value of the enum field names used in the ProtoBuf definition.
690        ///
691        /// The values are not transformed in any way and thus are considered stable
692        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
693        pub fn as_str_name(&self) -> &'static str {
694            match self {
695                Self::Unspecified => "UNSPECIFIED",
696                Self::Source => "SOURCE",
697                Self::Sink => "SINK",
698                Self::Connection => "CONNECTION",
699            }
700        }
701        /// Creates an enum from field names used in the ProtoBuf definition.
702        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
703            match value {
704                "UNSPECIFIED" => Some(Self::Unspecified),
705                "SOURCE" => Some(Self::Source),
706                "SINK" => Some(Self::Sink),
707                "CONNECTION" => Some(Self::Connection),
708                _ => None,
709            }
710        }
711    }
712}
713#[derive(prost_helpers::AnyPB)]
714#[derive(Clone, Copy, PartialEq, ::prost::Message)]
715pub struct AlterConnectorPropsResponse {}
716/// Below for cluster service.
717#[derive(prost_helpers::AnyPB)]
718#[derive(Clone, PartialEq, ::prost::Message)]
719pub struct AddWorkerNodeRequest {
720    #[prost(enumeration = "super::common::WorkerType", tag = "1")]
721    pub worker_type: i32,
722    #[prost(message, optional, tag = "2")]
723    pub host: ::core::option::Option<super::common::HostAddress>,
724    #[prost(message, optional, tag = "5")]
725    pub resource: ::core::option::Option<super::common::worker_node::Resource>,
726    #[prost(message, optional, tag = "6")]
727    pub property: ::core::option::Option<super::common::worker_node::Property>,
728}
729#[derive(prost_helpers::AnyPB)]
730#[derive(Clone, PartialEq, ::prost::Message)]
731pub struct AddWorkerNodeResponse {
732    #[prost(uint32, optional, tag = "2")]
733    pub node_id: ::core::option::Option<u32>,
734    #[prost(string, tag = "4")]
735    pub cluster_id: ::prost::alloc::string::String,
736}
737#[derive(prost_helpers::AnyPB)]
738#[derive(Clone, PartialEq, ::prost::Message)]
739pub struct ActivateWorkerNodeRequest {
740    #[prost(message, optional, tag = "1")]
741    pub host: ::core::option::Option<super::common::HostAddress>,
742    #[prost(uint32, tag = "2")]
743    pub node_id: u32,
744}
745#[derive(prost_helpers::AnyPB)]
746#[derive(Clone, PartialEq, ::prost::Message)]
747pub struct ActivateWorkerNodeResponse {
748    #[prost(message, optional, tag = "1")]
749    pub status: ::core::option::Option<super::common::Status>,
750}
751#[derive(prost_helpers::AnyPB)]
752#[derive(Clone, PartialEq, ::prost::Message)]
753pub struct DeleteWorkerNodeRequest {
754    #[prost(message, optional, tag = "1")]
755    pub host: ::core::option::Option<super::common::HostAddress>,
756}
757#[derive(prost_helpers::AnyPB)]
758#[derive(Clone, PartialEq, ::prost::Message)]
759pub struct DeleteWorkerNodeResponse {
760    #[prost(message, optional, tag = "1")]
761    pub status: ::core::option::Option<super::common::Status>,
762}
763/// Mark CN as schedulable or as unschedulable
764#[derive(prost_helpers::AnyPB)]
765#[derive(Clone, PartialEq, ::prost::Message)]
766pub struct UpdateWorkerNodeSchedulabilityRequest {
767    #[prost(uint32, repeated, tag = "1")]
768    pub worker_ids: ::prost::alloc::vec::Vec<u32>,
769    #[prost(
770        enumeration = "update_worker_node_schedulability_request::Schedulability",
771        tag = "2"
772    )]
773    pub schedulability: i32,
774}
775/// Nested message and enum types in `UpdateWorkerNodeSchedulabilityRequest`.
776pub mod update_worker_node_schedulability_request {
777    #[derive(prost_helpers::AnyPB)]
778    #[derive(
779        Clone,
780        Copy,
781        Debug,
782        PartialEq,
783        Eq,
784        Hash,
785        PartialOrd,
786        Ord,
787        ::prost::Enumeration
788    )]
789    #[repr(i32)]
790    pub enum Schedulability {
791        Unspecified = 0,
792        Schedulable = 1,
793        Unschedulable = 2,
794    }
795    impl Schedulability {
796        /// String value of the enum field names used in the ProtoBuf definition.
797        ///
798        /// The values are not transformed in any way and thus are considered stable
799        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
800        pub fn as_str_name(&self) -> &'static str {
801            match self {
802                Self::Unspecified => "UNSPECIFIED",
803                Self::Schedulable => "SCHEDULABLE",
804                Self::Unschedulable => "UNSCHEDULABLE",
805            }
806        }
807        /// Creates an enum from field names used in the ProtoBuf definition.
808        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
809            match value {
810                "UNSPECIFIED" => Some(Self::Unspecified),
811                "SCHEDULABLE" => Some(Self::Schedulable),
812                "UNSCHEDULABLE" => Some(Self::Unschedulable),
813                _ => None,
814            }
815        }
816    }
817}
818#[derive(prost_helpers::AnyPB)]
819#[derive(Clone, PartialEq, ::prost::Message)]
820pub struct UpdateWorkerNodeSchedulabilityResponse {
821    #[prost(message, optional, tag = "1")]
822    pub status: ::core::option::Option<super::common::Status>,
823}
824#[derive(prost_helpers::AnyPB)]
825#[derive(Clone, Copy, PartialEq, ::prost::Message)]
826pub struct ListAllNodesRequest {
827    #[prost(enumeration = "super::common::WorkerType", optional, tag = "1")]
828    pub worker_type: ::core::option::Option<i32>,
829    /// Whether to include nodes still starting
830    #[prost(bool, tag = "2")]
831    pub include_starting_nodes: bool,
832}
833#[derive(prost_helpers::AnyPB)]
834#[derive(Clone, PartialEq, ::prost::Message)]
835pub struct ListAllNodesResponse {
836    #[prost(message, optional, tag = "1")]
837    pub status: ::core::option::Option<super::common::Status>,
838    #[prost(message, repeated, tag = "2")]
839    pub nodes: ::prost::alloc::vec::Vec<super::common::WorkerNode>,
840}
841#[derive(prost_helpers::AnyPB)]
842#[derive(Clone, Copy, PartialEq, ::prost::Message)]
843pub struct GetClusterRecoveryStatusRequest {}
844#[derive(prost_helpers::AnyPB)]
845#[derive(Clone, Copy, PartialEq, ::prost::Message)]
846pub struct GetClusterRecoveryStatusResponse {
847    #[prost(enumeration = "RecoveryStatus", tag = "1")]
848    pub status: i32,
849}
850#[derive(prost_helpers::AnyPB)]
851#[derive(Clone, Copy, PartialEq, ::prost::Message)]
852pub struct GetMetaStoreInfoRequest {}
853#[derive(prost_helpers::AnyPB)]
854#[derive(Clone, PartialEq, ::prost::Message)]
855pub struct GetMetaStoreInfoResponse {
856    #[prost(string, tag = "1")]
857    pub meta_store_endpoint: ::prost::alloc::string::String,
858}
859/// Below for notification service.
860#[derive(prost_helpers::AnyPB)]
861#[derive(Clone, PartialEq, ::prost::Message)]
862pub struct SubscribeRequest {
863    #[prost(enumeration = "SubscribeType", tag = "1")]
864    pub subscribe_type: i32,
865    #[prost(message, optional, tag = "2")]
866    pub host: ::core::option::Option<super::common::HostAddress>,
867    #[prost(uint32, tag = "3")]
868    pub worker_id: u32,
869}
870#[derive(prost_helpers::AnyPB)]
871#[derive(Clone, PartialEq, ::prost::Message)]
872pub struct MetaSnapshot {
873    #[prost(message, repeated, tag = "1")]
874    pub databases: ::prost::alloc::vec::Vec<super::catalog::Database>,
875    #[prost(message, repeated, tag = "2")]
876    pub schemas: ::prost::alloc::vec::Vec<super::catalog::Schema>,
877    #[prost(message, repeated, tag = "3")]
878    pub sources: ::prost::alloc::vec::Vec<super::catalog::Source>,
879    #[prost(message, repeated, tag = "4")]
880    pub sinks: ::prost::alloc::vec::Vec<super::catalog::Sink>,
881    #[prost(message, repeated, tag = "5")]
882    pub tables: ::prost::alloc::vec::Vec<super::catalog::Table>,
883    #[prost(message, repeated, tag = "6")]
884    pub indexes: ::prost::alloc::vec::Vec<super::catalog::Index>,
885    #[prost(message, repeated, tag = "7")]
886    pub views: ::prost::alloc::vec::Vec<super::catalog::View>,
887    #[prost(message, repeated, tag = "15")]
888    pub functions: ::prost::alloc::vec::Vec<super::catalog::Function>,
889    #[prost(message, repeated, tag = "17")]
890    pub connections: ::prost::alloc::vec::Vec<super::catalog::Connection>,
891    #[prost(message, repeated, tag = "19")]
892    pub subscriptions: ::prost::alloc::vec::Vec<super::catalog::Subscription>,
893    #[prost(message, repeated, tag = "8")]
894    pub users: ::prost::alloc::vec::Vec<super::user::UserInfo>,
895    #[prost(message, optional, tag = "20")]
896    pub session_params: ::core::option::Option<GetSessionParamsResponse>,
897    #[prost(message, repeated, tag = "23")]
898    pub secrets: ::prost::alloc::vec::Vec<super::catalog::Secret>,
899    #[prost(uint64, tag = "24")]
900    pub compute_node_total_cpu_count: u64,
901    #[prost(message, repeated, tag = "10")]
902    pub nodes: ::prost::alloc::vec::Vec<super::common::WorkerNode>,
903    #[prost(message, optional, tag = "12")]
904    pub hummock_version: ::core::option::Option<super::hummock::HummockVersion>,
905    #[prost(message, optional, tag = "14")]
906    pub meta_backup_manifest_id: ::core::option::Option<
907        super::backup_service::MetaBackupManifestId,
908    >,
909    #[prost(message, optional, tag = "16")]
910    pub hummock_write_limits: ::core::option::Option<super::hummock::WriteLimits>,
911    /// for streaming
912    #[prost(message, repeated, tag = "21")]
913    pub streaming_worker_slot_mappings: ::prost::alloc::vec::Vec<
914        FragmentWorkerSlotMapping,
915    >,
916    #[prost(message, repeated, tag = "22")]
917    pub serving_worker_slot_mappings: ::prost::alloc::vec::Vec<
918        FragmentWorkerSlotMapping,
919    >,
920    #[prost(message, optional, tag = "13")]
921    pub version: ::core::option::Option<meta_snapshot::SnapshotVersion>,
922}
923/// Nested message and enum types in `MetaSnapshot`.
924pub mod meta_snapshot {
925    #[derive(prost_helpers::AnyPB)]
926    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
927    pub struct SnapshotVersion {
928        #[prost(uint64, tag = "1")]
929        pub catalog_version: u64,
930        #[prost(uint64, tag = "3")]
931        pub worker_node_version: u64,
932        #[prost(uint64, tag = "4")]
933        pub streaming_worker_slot_mapping_version: u64,
934    }
935}
936#[derive(prost_helpers::AnyPB)]
937#[derive(Clone, PartialEq, ::prost::Message)]
938pub struct Object {
939    #[prost(oneof = "object::ObjectInfo", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11")]
940    pub object_info: ::core::option::Option<object::ObjectInfo>,
941}
942/// Nested message and enum types in `Object`.
943pub mod object {
944    #[derive(prost_helpers::AnyPB)]
945    #[derive(Clone, PartialEq, ::prost::Oneof)]
946    pub enum ObjectInfo {
947        #[prost(message, tag = "1")]
948        Database(super::super::catalog::Database),
949        #[prost(message, tag = "2")]
950        Schema(super::super::catalog::Schema),
951        #[prost(message, tag = "3")]
952        Table(super::super::catalog::Table),
953        #[prost(message, tag = "4")]
954        Index(super::super::catalog::Index),
955        #[prost(message, tag = "5")]
956        Source(super::super::catalog::Source),
957        #[prost(message, tag = "6")]
958        Sink(super::super::catalog::Sink),
959        #[prost(message, tag = "7")]
960        View(super::super::catalog::View),
961        #[prost(message, tag = "8")]
962        Function(super::super::catalog::Function),
963        #[prost(message, tag = "9")]
964        Connection(super::super::catalog::Connection),
965        #[prost(message, tag = "10")]
966        Subscription(super::super::catalog::Subscription),
967        #[prost(message, tag = "11")]
968        Secret(super::super::catalog::Secret),
969    }
970}
971#[derive(prost_helpers::AnyPB)]
972#[derive(Clone, PartialEq, ::prost::Message)]
973pub struct ObjectGroup {
974    #[prost(message, repeated, tag = "1")]
975    pub objects: ::prost::alloc::vec::Vec<Object>,
976}
977#[derive(prost_helpers::AnyPB)]
978#[derive(Clone, Copy, PartialEq, ::prost::Message)]
979pub struct Recovery {}
980#[derive(prost_helpers::AnyPB)]
981#[derive(Clone, PartialEq, ::prost::Message)]
982pub struct SubscribeResponse {
983    #[prost(message, optional, tag = "1")]
984    pub status: ::core::option::Option<super::common::Status>,
985    #[prost(enumeration = "subscribe_response::Operation", tag = "2")]
986    pub operation: i32,
987    /// Catalog version
988    #[prost(uint64, tag = "3")]
989    pub version: u64,
990    #[prost(
991        oneof = "subscribe_response::Info",
992        tags = "4, 5, 6, 11, 26, 13, 15, 16, 17, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30"
993    )]
994    pub info: ::core::option::Option<subscribe_response::Info>,
995}
996/// Nested message and enum types in `SubscribeResponse`.
997pub mod subscribe_response {
998    #[derive(prost_helpers::AnyPB)]
999    #[derive(
1000        Clone,
1001        Copy,
1002        Debug,
1003        PartialEq,
1004        Eq,
1005        Hash,
1006        PartialOrd,
1007        Ord,
1008        ::prost::Enumeration
1009    )]
1010    #[repr(i32)]
1011    pub enum Operation {
1012        Unspecified = 0,
1013        Add = 1,
1014        Delete = 2,
1015        Update = 3,
1016        Snapshot = 4,
1017    }
1018    impl Operation {
1019        /// String value of the enum field names used in the ProtoBuf definition.
1020        ///
1021        /// The values are not transformed in any way and thus are considered stable
1022        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1023        pub fn as_str_name(&self) -> &'static str {
1024            match self {
1025                Self::Unspecified => "UNSPECIFIED",
1026                Self::Add => "ADD",
1027                Self::Delete => "DELETE",
1028                Self::Update => "UPDATE",
1029                Self::Snapshot => "SNAPSHOT",
1030            }
1031        }
1032        /// Creates an enum from field names used in the ProtoBuf definition.
1033        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1034            match value {
1035                "UNSPECIFIED" => Some(Self::Unspecified),
1036                "ADD" => Some(Self::Add),
1037                "DELETE" => Some(Self::Delete),
1038                "UPDATE" => Some(Self::Update),
1039                "SNAPSHOT" => Some(Self::Snapshot),
1040                _ => None,
1041            }
1042        }
1043    }
1044    #[derive(prost_helpers::AnyPB)]
1045    #[derive(Clone, PartialEq, ::prost::Oneof)]
1046    pub enum Info {
1047        #[prost(message, tag = "4")]
1048        Database(super::super::catalog::Database),
1049        #[prost(message, tag = "5")]
1050        Schema(super::super::catalog::Schema),
1051        #[prost(message, tag = "6")]
1052        Function(super::super::catalog::Function),
1053        #[prost(message, tag = "11")]
1054        User(super::super::user::UserInfo),
1055        #[prost(message, tag = "26")]
1056        SessionParam(super::SetSessionParamRequest),
1057        #[prost(message, tag = "13")]
1058        Node(super::super::common::WorkerNode),
1059        #[prost(message, tag = "15")]
1060        HummockVersionDeltas(super::super::hummock::HummockVersionDeltas),
1061        #[prost(message, tag = "16")]
1062        Snapshot(super::MetaSnapshot),
1063        #[prost(message, tag = "17")]
1064        MetaBackupManifestId(super::super::backup_service::MetaBackupManifestId),
1065        #[prost(message, tag = "19")]
1066        SystemParams(super::SystemParams),
1067        #[prost(message, tag = "20")]
1068        HummockWriteLimits(super::super::hummock::WriteLimits),
1069        #[prost(message, tag = "21")]
1070        ObjectGroup(super::ObjectGroup),
1071        #[prost(message, tag = "22")]
1072        Connection(super::super::catalog::Connection),
1073        #[prost(message, tag = "24")]
1074        HummockStats(super::super::hummock::HummockVersionStats),
1075        #[prost(message, tag = "25")]
1076        Recovery(super::Recovery),
1077        #[prost(message, tag = "27")]
1078        StreamingWorkerSlotMapping(super::FragmentWorkerSlotMapping),
1079        #[prost(message, tag = "28")]
1080        ServingWorkerSlotMappings(super::FragmentWorkerSlotMappings),
1081        #[prost(message, tag = "29")]
1082        Secret(super::super::catalog::Secret),
1083        #[prost(uint64, tag = "30")]
1084        ComputeNodeTotalCpuCount(u64),
1085    }
1086}
1087#[derive(prost_helpers::AnyPB)]
1088#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1089pub struct GetClusterInfoRequest {}
1090#[derive(prost_helpers::AnyPB)]
1091#[derive(Clone, PartialEq, ::prost::Message)]
1092pub struct GetClusterInfoResponse {
1093    #[prost(message, repeated, tag = "1")]
1094    pub worker_nodes: ::prost::alloc::vec::Vec<super::common::WorkerNode>,
1095    #[prost(message, repeated, tag = "2")]
1096    pub table_fragments: ::prost::alloc::vec::Vec<TableFragments>,
1097    /// `Source` and `SourceBackfill` are handled together here.
1098    #[prost(map = "uint32, message", tag = "3")]
1099    pub actor_splits: ::std::collections::HashMap<u32, super::source::ConnectorSplits>,
1100    #[prost(map = "uint32, message", tag = "4")]
1101    pub source_infos: ::std::collections::HashMap<u32, super::catalog::Source>,
1102    #[prost(uint64, tag = "5")]
1103    pub revision: u64,
1104}
1105/// For each fragment that needs to be rescheduled, there will be a WorkerReschedule,
1106/// indicating on which workers the actors of this fragment need to be changed and by how many.
1107#[derive(prost_helpers::AnyPB)]
1108#[derive(Clone, PartialEq, ::prost::Message)]
1109pub struct WorkerReschedule {
1110    /// worker_id -> actor_diff
1111    #[prost(map = "uint32, int32", tag = "1")]
1112    pub worker_actor_diff: ::std::collections::HashMap<u32, i32>,
1113}
1114#[derive(prost_helpers::AnyPB)]
1115#[derive(Clone, PartialEq, ::prost::Message)]
1116pub struct RescheduleRequest {
1117    #[prost(uint64, tag = "2")]
1118    pub revision: u64,
1119    #[prost(bool, tag = "3")]
1120    pub resolve_no_shuffle_upstream: bool,
1121    #[prost(map = "uint32, message", tag = "4")]
1122    pub worker_reschedules: ::std::collections::HashMap<u32, WorkerReschedule>,
1123}
1124#[derive(prost_helpers::AnyPB)]
1125#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1126pub struct RescheduleResponse {
1127    #[prost(bool, tag = "1")]
1128    pub success: bool,
1129    #[prost(uint64, tag = "2")]
1130    pub revision: u64,
1131}
1132#[derive(prost_helpers::AnyPB)]
1133#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1134pub struct TableParallelism {
1135    #[prost(oneof = "table_parallelism::Parallelism", tags = "1, 2, 3, 4")]
1136    pub parallelism: ::core::option::Option<table_parallelism::Parallelism>,
1137}
1138/// Nested message and enum types in `TableParallelism`.
1139pub mod table_parallelism {
1140    #[derive(prost_helpers::AnyPB)]
1141    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1142    pub struct FixedParallelism {
1143        #[prost(uint32, tag = "1")]
1144        pub parallelism: u32,
1145    }
1146    /// deprecated, treated as AdaptiveParallelism
1147    #[derive(prost_helpers::AnyPB)]
1148    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1149    pub struct AutoParallelism {}
1150    #[derive(prost_helpers::AnyPB)]
1151    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1152    pub struct AdaptiveParallelism {}
1153    #[derive(prost_helpers::AnyPB)]
1154    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1155    pub struct CustomParallelism {}
1156    #[derive(prost_helpers::AnyPB)]
1157    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1158    pub enum Parallelism {
1159        #[prost(message, tag = "1")]
1160        Fixed(FixedParallelism),
1161        #[prost(message, tag = "2")]
1162        Auto(AutoParallelism),
1163        #[prost(message, tag = "3")]
1164        Custom(CustomParallelism),
1165        #[prost(message, tag = "4")]
1166        Adaptive(AdaptiveParallelism),
1167    }
1168}
1169/// Changes a streaming job in place by overwriting its node_label.
1170/// This may cause the re-scheduling of the streaming job actors.
1171#[derive(prost_helpers::AnyPB)]
1172#[derive(Clone, PartialEq, ::prost::Message)]
1173pub struct UpdateStreamingJobNodeLabelsRequest {
1174    /// Id of the materialized view, table, or sink which we want to update
1175    #[prost(uint32, tag = "1")]
1176    pub id: u32,
1177    /// replace the node_label of the streaming job with a given id with below value
1178    #[prost(string, tag = "2")]
1179    pub node_label: ::prost::alloc::string::String,
1180}
1181/// We do not need to add an explicit status field here, we can just use the RPC status
1182#[derive(prost_helpers::AnyPB)]
1183#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1184pub struct UpdateStreamingJobNodeLabelsResponse {}
1185#[derive(prost_helpers::AnyPB)]
1186#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1187pub struct GetServerlessStreamingJobsStatusRequest {}
1188/// Descriptions of MVs and sinks
1189#[derive(prost_helpers::AnyPB)]
1190#[derive(Clone, PartialEq, ::prost::Message)]
1191pub struct GetServerlessStreamingJobsStatusResponse {
1192    #[prost(message, repeated, tag = "1")]
1193    pub streaming_job_statuses: ::prost::alloc::vec::Vec<
1194        get_serverless_streaming_jobs_status_response::Status,
1195    >,
1196}
1197/// Nested message and enum types in `GetServerlessStreamingJobsStatusResponse`.
1198pub mod get_serverless_streaming_jobs_status_response {
1199    #[derive(prost_helpers::AnyPB)]
1200    #[derive(Clone, PartialEq, ::prost::Message)]
1201    pub struct Status {
1202        #[prost(uint32, tag = "1")]
1203        pub table_id: u32,
1204        #[prost(string, tag = "2")]
1205        pub node_label: ::prost::alloc::string::String,
1206        #[prost(bool, tag = "3")]
1207        pub backfill_done: bool,
1208    }
1209}
1210#[derive(prost_helpers::AnyPB)]
1211#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1212pub struct MembersRequest {}
1213#[derive(prost_helpers::AnyPB)]
1214#[derive(Clone, PartialEq, ::prost::Message)]
1215pub struct MetaMember {
1216    #[prost(message, optional, tag = "1")]
1217    pub address: ::core::option::Option<super::common::HostAddress>,
1218    #[prost(bool, tag = "2")]
1219    pub is_leader: bool,
1220}
1221#[derive(prost_helpers::AnyPB)]
1222#[derive(Clone, PartialEq, ::prost::Message)]
1223pub struct MembersResponse {
1224    #[prost(message, repeated, tag = "1")]
1225    pub members: ::prost::alloc::vec::Vec<MetaMember>,
1226}
1227/// The schema for persisted system parameters.
1228/// Note on backward compatibility:
1229/// - Do not remove deprecated fields. Mark them as deprecated instead.
1230/// - Do not rename existing fields, since each field is stored separately in the meta store with the field name as the key.
1231/// - To modify (rename, change the type or semantic of) a field, introduce a new field suffixed by the version.
1232#[derive(prost_helpers::AnyPB)]
1233#[derive(Clone, PartialEq, ::prost::Message)]
1234#[prost(skip_debug)]
1235pub struct SystemParams {
1236    #[prost(uint32, optional, tag = "1")]
1237    pub barrier_interval_ms: ::core::option::Option<u32>,
1238    #[prost(uint64, optional, tag = "2")]
1239    pub checkpoint_frequency: ::core::option::Option<u64>,
1240    #[prost(uint32, optional, tag = "3")]
1241    pub sstable_size_mb: ::core::option::Option<u32>,
1242    #[prost(uint32, optional, tag = "4")]
1243    pub block_size_kb: ::core::option::Option<u32>,
1244    #[prost(double, optional, tag = "5")]
1245    pub bloom_false_positive: ::core::option::Option<f64>,
1246    #[prost(string, optional, tag = "6")]
1247    pub state_store: ::core::option::Option<::prost::alloc::string::String>,
1248    #[prost(string, optional, tag = "7")]
1249    pub data_directory: ::core::option::Option<::prost::alloc::string::String>,
1250    #[prost(string, optional, tag = "8")]
1251    pub backup_storage_url: ::core::option::Option<::prost::alloc::string::String>,
1252    #[prost(string, optional, tag = "9")]
1253    pub backup_storage_directory: ::core::option::Option<::prost::alloc::string::String>,
1254    /// Deprecated. Use config file instead.
1255    #[deprecated]
1256    #[prost(bool, optional, tag = "10")]
1257    pub telemetry_enabled: ::core::option::Option<bool>,
1258    #[prost(uint32, optional, tag = "11")]
1259    pub parallel_compact_size_mb: ::core::option::Option<u32>,
1260    #[prost(uint32, optional, tag = "12")]
1261    pub max_concurrent_creating_streaming_jobs: ::core::option::Option<u32>,
1262    #[prost(bool, optional, tag = "13")]
1263    pub pause_on_next_bootstrap: ::core::option::Option<bool>,
1264    #[deprecated]
1265    #[prost(string, optional, tag = "14")]
1266    pub wasm_storage_url: ::core::option::Option<::prost::alloc::string::String>,
1267    #[prost(bool, optional, tag = "15")]
1268    pub enable_tracing: ::core::option::Option<bool>,
1269    #[prost(bool, optional, tag = "16")]
1270    pub use_new_object_prefix_strategy: ::core::option::Option<bool>,
1271    #[prost(string, optional, tag = "17")]
1272    pub license_key: ::core::option::Option<::prost::alloc::string::String>,
1273    #[prost(uint64, optional, tag = "18")]
1274    pub time_travel_retention_ms: ::core::option::Option<u64>,
1275    #[prost(string, optional, tag = "19")]
1276    pub adaptive_parallelism_strategy: ::core::option::Option<
1277        ::prost::alloc::string::String,
1278    >,
1279    #[prost(bool, optional, tag = "20")]
1280    pub per_database_isolation: ::core::option::Option<bool>,
1281    #[prost(bool, optional, tag = "21")]
1282    pub enforce_secret: ::core::option::Option<bool>,
1283}
1284#[derive(prost_helpers::AnyPB)]
1285#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1286pub struct GetSystemParamsRequest {}
1287#[derive(prost_helpers::AnyPB)]
1288#[derive(Clone, PartialEq, ::prost::Message)]
1289pub struct GetSystemParamsResponse {
1290    #[prost(message, optional, tag = "1")]
1291    pub params: ::core::option::Option<SystemParams>,
1292}
1293#[derive(prost_helpers::AnyPB)]
1294#[derive(Clone, PartialEq, ::prost::Message)]
1295pub struct SetSystemParamRequest {
1296    #[prost(string, tag = "1")]
1297    pub param: ::prost::alloc::string::String,
1298    /// None means set to default value.
1299    #[prost(string, optional, tag = "2")]
1300    pub value: ::core::option::Option<::prost::alloc::string::String>,
1301}
1302#[derive(prost_helpers::AnyPB)]
1303#[derive(Clone, PartialEq, ::prost::Message)]
1304pub struct SetSystemParamResponse {
1305    #[prost(message, optional, tag = "1")]
1306    pub params: ::core::option::Option<SystemParams>,
1307}
1308#[derive(prost_helpers::AnyPB)]
1309#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1310pub struct GetSessionParamsRequest {}
1311#[derive(prost_helpers::AnyPB)]
1312#[derive(Clone, PartialEq, ::prost::Message)]
1313pub struct GetSessionParamsResponse {
1314    #[prost(string, tag = "1")]
1315    pub params: ::prost::alloc::string::String,
1316}
1317#[derive(prost_helpers::AnyPB)]
1318#[derive(Clone, PartialEq, ::prost::Message)]
1319pub struct SetSessionParamRequest {
1320    #[prost(string, tag = "1")]
1321    pub param: ::prost::alloc::string::String,
1322    /// None means set to default value.
1323    #[prost(string, optional, tag = "2")]
1324    pub value: ::core::option::Option<::prost::alloc::string::String>,
1325}
1326#[derive(prost_helpers::AnyPB)]
1327#[derive(Clone, PartialEq, ::prost::Message)]
1328pub struct SetSessionParamResponse {
1329    #[prost(string, tag = "1")]
1330    pub param: ::prost::alloc::string::String,
1331}
1332#[derive(prost_helpers::AnyPB)]
1333#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1334pub struct GetServingVnodeMappingsRequest {}
1335#[derive(prost_helpers::AnyPB)]
1336#[derive(Clone, PartialEq, ::prost::Message)]
1337pub struct GetServingVnodeMappingsResponse {
1338    #[prost(map = "uint32, uint32", tag = "2")]
1339    pub fragment_to_table: ::std::collections::HashMap<u32, u32>,
1340    #[prost(message, repeated, tag = "3")]
1341    pub worker_slot_mappings: ::prost::alloc::vec::Vec<FragmentWorkerSlotMapping>,
1342}
1343#[derive(prost_helpers::AnyPB)]
1344#[derive(Clone, PartialEq, ::prost::Message)]
1345pub struct EventLog {
1346    /// Event logs identifier, which should be populated by event log service.
1347    #[prost(string, optional, tag = "1")]
1348    pub unique_id: ::core::option::Option<::prost::alloc::string::String>,
1349    /// Processing time, which should be populated by event log service.
1350    #[prost(uint64, optional, tag = "2")]
1351    pub timestamp: ::core::option::Option<u64>,
1352    #[prost(oneof = "event_log::Event", tags = "3, 4, 5, 6, 7, 8, 9, 10, 11, 12")]
1353    pub event: ::core::option::Option<event_log::Event>,
1354}
1355/// Nested message and enum types in `EventLog`.
1356pub mod event_log {
1357    #[derive(prost_helpers::AnyPB)]
1358    #[derive(Clone, PartialEq, ::prost::Message)]
1359    pub struct EventMetaNodeStart {
1360        #[prost(string, tag = "1")]
1361        pub advertise_addr: ::prost::alloc::string::String,
1362        #[prost(string, tag = "2")]
1363        pub listen_addr: ::prost::alloc::string::String,
1364        #[prost(string, tag = "3")]
1365        pub opts: ::prost::alloc::string::String,
1366    }
1367    #[derive(prost_helpers::AnyPB)]
1368    #[derive(Clone, PartialEq, ::prost::Message)]
1369    pub struct EventCreateStreamJobFail {
1370        #[prost(uint32, tag = "1")]
1371        pub id: u32,
1372        #[prost(string, tag = "2")]
1373        pub name: ::prost::alloc::string::String,
1374        #[prost(string, tag = "3")]
1375        pub definition: ::prost::alloc::string::String,
1376        #[prost(string, tag = "4")]
1377        pub error: ::prost::alloc::string::String,
1378    }
1379    #[derive(prost_helpers::AnyPB)]
1380    #[derive(Clone, PartialEq, ::prost::Message)]
1381    pub struct EventDirtyStreamJobClear {
1382        #[prost(uint32, tag = "1")]
1383        pub id: u32,
1384        #[prost(string, tag = "2")]
1385        pub name: ::prost::alloc::string::String,
1386        #[prost(string, tag = "3")]
1387        pub definition: ::prost::alloc::string::String,
1388        #[prost(string, tag = "4")]
1389        pub error: ::prost::alloc::string::String,
1390    }
1391    #[derive(prost_helpers::AnyPB)]
1392    #[derive(Clone, PartialEq, ::prost::Message)]
1393    pub struct EventBarrierComplete {
1394        #[prost(uint64, tag = "1")]
1395        pub prev_epoch: u64,
1396        #[prost(uint64, tag = "2")]
1397        pub cur_epoch: u64,
1398        #[prost(double, tag = "3")]
1399        pub duration_sec: f64,
1400        #[prost(string, tag = "4")]
1401        pub command: ::prost::alloc::string::String,
1402        #[prost(string, tag = "5")]
1403        pub barrier_kind: ::prost::alloc::string::String,
1404    }
1405    #[derive(prost_helpers::AnyPB)]
1406    #[derive(Clone, PartialEq, ::prost::Message)]
1407    pub struct EventInjectBarrierFail {
1408        #[prost(uint64, tag = "1")]
1409        pub prev_epoch: u64,
1410        #[prost(uint64, tag = "2")]
1411        pub cur_epoch: u64,
1412        #[prost(string, tag = "3")]
1413        pub error: ::prost::alloc::string::String,
1414    }
1415    #[derive(prost_helpers::AnyPB)]
1416    #[derive(Clone, PartialEq, ::prost::Message)]
1417    pub struct EventCollectBarrierFail {
1418        #[prost(string, tag = "3")]
1419        pub error: ::prost::alloc::string::String,
1420    }
1421    #[derive(prost_helpers::AnyPB)]
1422    #[derive(Clone, PartialEq, ::prost::Message)]
1423    pub struct EventWorkerNodePanic {
1424        #[prost(uint32, tag = "1")]
1425        pub worker_id: u32,
1426        #[prost(enumeration = "super::super::common::WorkerType", tag = "2")]
1427        pub worker_type: i32,
1428        #[prost(message, optional, tag = "3")]
1429        pub host_addr: ::core::option::Option<super::super::common::HostAddress>,
1430        #[prost(string, tag = "4")]
1431        pub panic_info: ::prost::alloc::string::String,
1432    }
1433    #[derive(prost_helpers::AnyPB)]
1434    #[derive(Clone, PartialEq, ::prost::Message)]
1435    pub struct EventAutoSchemaChangeFail {
1436        #[prost(uint32, tag = "1")]
1437        pub table_id: u32,
1438        #[prost(string, tag = "2")]
1439        pub table_name: ::prost::alloc::string::String,
1440        #[prost(string, tag = "3")]
1441        pub cdc_table_id: ::prost::alloc::string::String,
1442        #[prost(string, tag = "4")]
1443        pub upstream_ddl: ::prost::alloc::string::String,
1444    }
1445    #[derive(prost_helpers::AnyPB)]
1446    #[derive(Clone, PartialEq, ::prost::Message)]
1447    pub struct EventSinkFail {
1448        #[prost(uint32, tag = "1")]
1449        pub sink_id: u32,
1450        #[prost(string, tag = "2")]
1451        pub sink_name: ::prost::alloc::string::String,
1452        #[prost(string, tag = "3")]
1453        pub connector: ::prost::alloc::string::String,
1454        #[prost(string, tag = "4")]
1455        pub error: ::prost::alloc::string::String,
1456    }
1457    #[derive(prost_helpers::AnyPB)]
1458    #[derive(Clone, PartialEq, ::prost::Message)]
1459    pub struct EventRecovery {
1460        #[prost(oneof = "event_recovery::RecoveryEvent", tags = "1, 2, 3, 4, 5, 6")]
1461        pub recovery_event: ::core::option::Option<event_recovery::RecoveryEvent>,
1462    }
1463    /// Nested message and enum types in `EventRecovery`.
1464    pub mod event_recovery {
1465        #[derive(prost_helpers::AnyPB)]
1466        #[derive(Clone, PartialEq, ::prost::Message)]
1467        pub struct GlobalRecoveryStart {
1468            #[prost(string, tag = "1")]
1469            pub reason: ::prost::alloc::string::String,
1470        }
1471        #[derive(prost_helpers::AnyPB)]
1472        #[derive(Clone, PartialEq, ::prost::Message)]
1473        pub struct GlobalRecoverySuccess {
1474            #[prost(string, tag = "1")]
1475            pub reason: ::prost::alloc::string::String,
1476            #[prost(float, tag = "2")]
1477            pub duration_secs: f32,
1478            #[prost(uint32, repeated, tag = "3")]
1479            pub running_database_ids: ::prost::alloc::vec::Vec<u32>,
1480            #[prost(uint32, repeated, tag = "4")]
1481            pub recovering_database_ids: ::prost::alloc::vec::Vec<u32>,
1482        }
1483        #[derive(prost_helpers::AnyPB)]
1484        #[derive(Clone, PartialEq, ::prost::Message)]
1485        pub struct GlobalRecoveryFailure {
1486            #[prost(string, tag = "1")]
1487            pub reason: ::prost::alloc::string::String,
1488            #[prost(string, tag = "2")]
1489            pub error: ::prost::alloc::string::String,
1490        }
1491        #[derive(prost_helpers::AnyPB)]
1492        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1493        pub struct DatabaseRecoveryStart {
1494            #[prost(uint32, tag = "1")]
1495            pub database_id: u32,
1496        }
1497        #[derive(prost_helpers::AnyPB)]
1498        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1499        pub struct DatabaseRecoveryFailure {
1500            #[prost(uint32, tag = "1")]
1501            pub database_id: u32,
1502        }
1503        #[derive(prost_helpers::AnyPB)]
1504        #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1505        pub struct DatabaseRecoverySuccess {
1506            #[prost(uint32, tag = "1")]
1507            pub database_id: u32,
1508        }
1509        #[derive(prost_helpers::AnyPB)]
1510        #[derive(Clone, PartialEq, ::prost::Oneof)]
1511        pub enum RecoveryEvent {
1512            #[prost(message, tag = "1")]
1513            GlobalStart(GlobalRecoveryStart),
1514            #[prost(message, tag = "2")]
1515            GlobalSuccess(GlobalRecoverySuccess),
1516            #[prost(message, tag = "3")]
1517            GlobalFailure(GlobalRecoveryFailure),
1518            #[prost(message, tag = "4")]
1519            DatabaseStart(DatabaseRecoveryStart),
1520            #[prost(message, tag = "5")]
1521            DatabaseFailure(DatabaseRecoveryFailure),
1522            #[prost(message, tag = "6")]
1523            DatabaseSuccess(DatabaseRecoverySuccess),
1524        }
1525    }
1526    #[derive(prost_helpers::AnyPB)]
1527    #[derive(Clone, PartialEq, ::prost::Oneof)]
1528    pub enum Event {
1529        #[prost(message, tag = "3")]
1530        CreateStreamJobFail(EventCreateStreamJobFail),
1531        #[prost(message, tag = "4")]
1532        DirtyStreamJobClear(EventDirtyStreamJobClear),
1533        #[prost(message, tag = "5")]
1534        MetaNodeStart(EventMetaNodeStart),
1535        #[prost(message, tag = "6")]
1536        BarrierComplete(EventBarrierComplete),
1537        #[prost(message, tag = "7")]
1538        InjectBarrierFail(EventInjectBarrierFail),
1539        #[prost(message, tag = "8")]
1540        CollectBarrierFail(EventCollectBarrierFail),
1541        #[prost(message, tag = "9")]
1542        WorkerNodePanic(EventWorkerNodePanic),
1543        #[prost(message, tag = "10")]
1544        AutoSchemaChangeFail(EventAutoSchemaChangeFail),
1545        #[prost(message, tag = "11")]
1546        SinkFail(EventSinkFail),
1547        #[prost(message, tag = "12")]
1548        Recovery(EventRecovery),
1549    }
1550}
1551#[derive(prost_helpers::AnyPB)]
1552#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1553pub struct ListEventLogRequest {}
1554#[derive(prost_helpers::AnyPB)]
1555#[derive(Clone, PartialEq, ::prost::Message)]
1556pub struct ListEventLogResponse {
1557    #[prost(message, repeated, tag = "1")]
1558    pub event_logs: ::prost::alloc::vec::Vec<EventLog>,
1559}
1560#[derive(prost_helpers::AnyPB)]
1561#[derive(Clone, PartialEq, ::prost::Message)]
1562pub struct AddEventLogRequest {
1563    /// A subset of EventLog.event that can be added by non meta node.
1564    #[prost(oneof = "add_event_log_request::Event", tags = "1, 2")]
1565    pub event: ::core::option::Option<add_event_log_request::Event>,
1566}
1567/// Nested message and enum types in `AddEventLogRequest`.
1568pub mod add_event_log_request {
1569    /// A subset of EventLog.event that can be added by non meta node.
1570    #[derive(prost_helpers::AnyPB)]
1571    #[derive(Clone, PartialEq, ::prost::Oneof)]
1572    pub enum Event {
1573        #[prost(message, tag = "1")]
1574        WorkerNodePanic(super::event_log::EventWorkerNodePanic),
1575        #[prost(message, tag = "2")]
1576        SinkFail(super::event_log::EventSinkFail),
1577    }
1578}
1579#[derive(prost_helpers::AnyPB)]
1580#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1581pub struct AddEventLogResponse {}
1582#[derive(prost_helpers::AnyPB)]
1583#[derive(Clone, PartialEq, ::prost::Message)]
1584pub struct ActorIds {
1585    #[prost(uint32, repeated, tag = "1")]
1586    pub ids: ::prost::alloc::vec::Vec<u32>,
1587}
1588#[derive(prost_helpers::AnyPB)]
1589#[derive(Clone, PartialEq, ::prost::Message)]
1590pub struct FragmentIdToActorIdMap {
1591    #[prost(map = "uint32, message", tag = "1")]
1592    pub map: ::std::collections::HashMap<u32, ActorIds>,
1593}
1594/// / Provides all the ids: relation_id, fragment_id, actor_id
1595/// / in an hierarchical format.
1596/// / relation_id -> \[fragment_id\]
1597/// / fragment_id -> \[actor_id\]
1598#[derive(prost_helpers::AnyPB)]
1599#[derive(Clone, PartialEq, ::prost::Message)]
1600pub struct RelationIdInfos {
1601    /// relation_id -> FragmentIdToActorIdMap
1602    #[prost(map = "uint32, message", tag = "1")]
1603    pub map: ::std::collections::HashMap<u32, FragmentIdToActorIdMap>,
1604}
1605#[derive(prost_helpers::AnyPB)]
1606#[derive(Clone, PartialEq, ::prost::Message)]
1607pub struct FragmentToRelationMap {
1608    /// / fragment_id -> relation_id of all in-bound fragments e.g. the ones with StreamScan
1609    #[prost(map = "uint32, uint32", tag = "1")]
1610    pub in_map: ::std::collections::HashMap<u32, u32>,
1611    /// / fragment_id -> relation_id of all out-bound fragments e.g. the ones with MaterializeExecutor
1612    #[prost(map = "uint32, uint32", tag = "2")]
1613    pub out_map: ::std::collections::HashMap<u32, u32>,
1614}
1615#[derive(prost_helpers::AnyPB)]
1616#[derive(Clone, PartialEq, ::prost::Message)]
1617pub struct ActorCountPerParallelism {
1618    #[prost(map = "uint32, message", tag = "1")]
1619    pub worker_id_to_actor_count: ::std::collections::HashMap<
1620        u32,
1621        actor_count_per_parallelism::WorkerActorCount,
1622    >,
1623    #[prost(uint64, tag = "2")]
1624    pub hard_limit: u64,
1625    #[prost(uint64, tag = "3")]
1626    pub soft_limit: u64,
1627}
1628/// Nested message and enum types in `ActorCountPerParallelism`.
1629pub mod actor_count_per_parallelism {
1630    #[derive(prost_helpers::AnyPB)]
1631    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1632    pub struct WorkerActorCount {
1633        #[prost(uint64, tag = "1")]
1634        pub actor_count: u64,
1635        #[prost(uint64, tag = "2")]
1636        pub parallelism: u64,
1637    }
1638}
1639#[derive(prost_helpers::AnyPB)]
1640#[derive(Clone, PartialEq, ::prost::Message)]
1641pub struct ClusterLimit {
1642    #[prost(oneof = "cluster_limit::Limit", tags = "1")]
1643    pub limit: ::core::option::Option<cluster_limit::Limit>,
1644}
1645/// Nested message and enum types in `ClusterLimit`.
1646pub mod cluster_limit {
1647    #[derive(prost_helpers::AnyPB)]
1648    #[derive(Clone, PartialEq, ::prost::Oneof)]
1649    pub enum Limit {
1650        /// TODO: limit DDL using compaction pending bytes
1651        #[prost(message, tag = "1")]
1652        ActorCount(super::ActorCountPerParallelism),
1653    }
1654}
1655#[derive(prost_helpers::AnyPB)]
1656#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1657pub struct GetClusterLimitsRequest {}
1658#[derive(prost_helpers::AnyPB)]
1659#[derive(Clone, PartialEq, ::prost::Message)]
1660pub struct GetClusterLimitsResponse {
1661    #[prost(message, repeated, tag = "1")]
1662    pub active_limits: ::prost::alloc::vec::Vec<ClusterLimit>,
1663}
1664#[derive(prost_helpers::AnyPB)]
1665#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1666pub struct ListRateLimitsRequest {}
1667#[derive(prost_helpers::AnyPB)]
1668#[derive(Clone, PartialEq, ::prost::Message)]
1669pub struct ListRateLimitsResponse {
1670    #[prost(message, repeated, tag = "1")]
1671    pub rate_limits: ::prost::alloc::vec::Vec<list_rate_limits_response::RateLimitInfo>,
1672}
1673/// Nested message and enum types in `ListRateLimitsResponse`.
1674pub mod list_rate_limits_response {
1675    #[derive(prost_helpers::AnyPB)]
1676    #[derive(Clone, PartialEq, ::prost::Message)]
1677    pub struct RateLimitInfo {
1678        #[prost(uint32, tag = "1")]
1679        pub fragment_id: u32,
1680        #[prost(uint32, tag = "2")]
1681        pub job_id: u32,
1682        #[prost(uint32, tag = "3")]
1683        pub fragment_type_mask: u32,
1684        #[prost(uint32, tag = "4")]
1685        pub rate_limit: u32,
1686        #[prost(string, tag = "5")]
1687        pub node_name: ::prost::alloc::string::String,
1688    }
1689}
1690#[derive(prost_helpers::AnyPB)]
1691#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1692pub struct ListIcebergTablesRequest {}
1693#[derive(prost_helpers::AnyPB)]
1694#[derive(Clone, PartialEq, ::prost::Message)]
1695pub struct ListIcebergTablesResponse {
1696    #[prost(message, repeated, tag = "1")]
1697    pub iceberg_tables: ::prost::alloc::vec::Vec<
1698        list_iceberg_tables_response::IcebergTable,
1699    >,
1700}
1701/// Nested message and enum types in `ListIcebergTablesResponse`.
1702pub mod list_iceberg_tables_response {
1703    #[derive(prost_helpers::AnyPB)]
1704    #[derive(Clone, PartialEq, ::prost::Message)]
1705    pub struct IcebergTable {
1706        #[prost(string, tag = "1")]
1707        pub catalog_name: ::prost::alloc::string::String,
1708        #[prost(string, tag = "2")]
1709        pub table_namespace: ::prost::alloc::string::String,
1710        #[prost(string, tag = "3")]
1711        pub table_name: ::prost::alloc::string::String,
1712        #[prost(string, optional, tag = "4")]
1713        pub metadata_location: ::core::option::Option<::prost::alloc::string::String>,
1714        #[prost(string, optional, tag = "5")]
1715        pub previous_metadata_location: ::core::option::Option<
1716            ::prost::alloc::string::String,
1717        >,
1718        #[prost(string, optional, tag = "6")]
1719        pub iceberg_type: ::core::option::Option<::prost::alloc::string::String>,
1720    }
1721}
1722#[derive(prost_helpers::AnyPB)]
1723#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1724pub struct SetSyncLogStoreAlignedRequest {
1725    #[prost(uint32, tag = "1")]
1726    pub job_id: u32,
1727    #[prost(bool, tag = "2")]
1728    pub aligned: bool,
1729}
1730#[derive(prost_helpers::AnyPB)]
1731#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1732pub struct SetSyncLogStoreAlignedResponse {}
1733#[derive(prost_helpers::AnyPB)]
1734#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1735#[repr(i32)]
1736pub enum ThrottleTarget {
1737    Unspecified = 0,
1738    Source = 1,
1739    Mv = 2,
1740    TableWithSource = 3,
1741    CdcTable = 4,
1742    TableDml = 5,
1743    Sink = 6,
1744    Fragment = 7,
1745}
1746impl ThrottleTarget {
1747    /// String value of the enum field names used in the ProtoBuf definition.
1748    ///
1749    /// The values are not transformed in any way and thus are considered stable
1750    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1751    pub fn as_str_name(&self) -> &'static str {
1752        match self {
1753            Self::Unspecified => "THROTTLE_TARGET_UNSPECIFIED",
1754            Self::Source => "SOURCE",
1755            Self::Mv => "MV",
1756            Self::TableWithSource => "TABLE_WITH_SOURCE",
1757            Self::CdcTable => "CDC_TABLE",
1758            Self::TableDml => "TABLE_DML",
1759            Self::Sink => "SINK",
1760            Self::Fragment => "FRAGMENT",
1761        }
1762    }
1763    /// Creates an enum from field names used in the ProtoBuf definition.
1764    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1765        match value {
1766            "THROTTLE_TARGET_UNSPECIFIED" => Some(Self::Unspecified),
1767            "SOURCE" => Some(Self::Source),
1768            "MV" => Some(Self::Mv),
1769            "TABLE_WITH_SOURCE" => Some(Self::TableWithSource),
1770            "CDC_TABLE" => Some(Self::CdcTable),
1771            "TABLE_DML" => Some(Self::TableDml),
1772            "SINK" => Some(Self::Sink),
1773            "FRAGMENT" => Some(Self::Fragment),
1774            _ => None,
1775        }
1776    }
1777}
1778#[derive(prost_helpers::AnyPB)]
1779#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1780#[repr(i32)]
1781pub enum RecoveryStatus {
1782    StatusUnspecified = 0,
1783    StatusStarting = 1,
1784    StatusRecovering = 2,
1785    StatusRunning = 3,
1786}
1787impl RecoveryStatus {
1788    /// String value of the enum field names used in the ProtoBuf definition.
1789    ///
1790    /// The values are not transformed in any way and thus are considered stable
1791    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1792    pub fn as_str_name(&self) -> &'static str {
1793        match self {
1794            Self::StatusUnspecified => "STATUS_UNSPECIFIED",
1795            Self::StatusStarting => "STATUS_STARTING",
1796            Self::StatusRecovering => "STATUS_RECOVERING",
1797            Self::StatusRunning => "STATUS_RUNNING",
1798        }
1799    }
1800    /// Creates an enum from field names used in the ProtoBuf definition.
1801    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1802        match value {
1803            "STATUS_UNSPECIFIED" => Some(Self::StatusUnspecified),
1804            "STATUS_STARTING" => Some(Self::StatusStarting),
1805            "STATUS_RECOVERING" => Some(Self::StatusRecovering),
1806            "STATUS_RUNNING" => Some(Self::StatusRunning),
1807            _ => None,
1808        }
1809    }
1810}
1811#[derive(prost_helpers::AnyPB)]
1812#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1813#[repr(i32)]
1814pub enum SubscribeType {
1815    Unspecified = 0,
1816    Frontend = 1,
1817    Hummock = 2,
1818    Compactor = 3,
1819    Compute = 4,
1820}
1821impl SubscribeType {
1822    /// String value of the enum field names used in the ProtoBuf definition.
1823    ///
1824    /// The values are not transformed in any way and thus are considered stable
1825    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1826    pub fn as_str_name(&self) -> &'static str {
1827        match self {
1828            Self::Unspecified => "UNSPECIFIED",
1829            Self::Frontend => "FRONTEND",
1830            Self::Hummock => "HUMMOCK",
1831            Self::Compactor => "COMPACTOR",
1832            Self::Compute => "COMPUTE",
1833        }
1834    }
1835    /// Creates an enum from field names used in the ProtoBuf definition.
1836    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1837        match value {
1838            "UNSPECIFIED" => Some(Self::Unspecified),
1839            "FRONTEND" => Some(Self::Frontend),
1840            "HUMMOCK" => Some(Self::Hummock),
1841            "COMPACTOR" => Some(Self::Compactor),
1842            "COMPUTE" => Some(Self::Compute),
1843            _ => None,
1844        }
1845    }
1846}
1847/// Generated client implementations.
1848pub mod telemetry_info_service_client {
1849    #![allow(
1850        unused_variables,
1851        dead_code,
1852        missing_docs,
1853        clippy::wildcard_imports,
1854        clippy::let_unit_value,
1855    )]
1856    use tonic::codegen::*;
1857    use tonic::codegen::http::Uri;
1858    #[derive(Debug, Clone)]
1859    pub struct TelemetryInfoServiceClient<T> {
1860        inner: tonic::client::Grpc<T>,
1861    }
1862    impl TelemetryInfoServiceClient<tonic::transport::Channel> {
1863        /// Attempt to create a new client by connecting to a given endpoint.
1864        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1865        where
1866            D: TryInto<tonic::transport::Endpoint>,
1867            D::Error: Into<StdError>,
1868        {
1869            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1870            Ok(Self::new(conn))
1871        }
1872    }
1873    impl<T> TelemetryInfoServiceClient<T>
1874    where
1875        T: tonic::client::GrpcService<tonic::body::BoxBody>,
1876        T::Error: Into<StdError>,
1877        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1878        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1879    {
1880        pub fn new(inner: T) -> Self {
1881            let inner = tonic::client::Grpc::new(inner);
1882            Self { inner }
1883        }
1884        pub fn with_origin(inner: T, origin: Uri) -> Self {
1885            let inner = tonic::client::Grpc::with_origin(inner, origin);
1886            Self { inner }
1887        }
1888        pub fn with_interceptor<F>(
1889            inner: T,
1890            interceptor: F,
1891        ) -> TelemetryInfoServiceClient<InterceptedService<T, F>>
1892        where
1893            F: tonic::service::Interceptor,
1894            T::ResponseBody: Default,
1895            T: tonic::codegen::Service<
1896                http::Request<tonic::body::BoxBody>,
1897                Response = http::Response<
1898                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1899                >,
1900            >,
1901            <T as tonic::codegen::Service<
1902                http::Request<tonic::body::BoxBody>,
1903            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1904        {
1905            TelemetryInfoServiceClient::new(InterceptedService::new(inner, interceptor))
1906        }
1907        /// Compress requests with the given encoding.
1908        ///
1909        /// This requires the server to support it otherwise it might respond with an
1910        /// error.
1911        #[must_use]
1912        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1913            self.inner = self.inner.send_compressed(encoding);
1914            self
1915        }
1916        /// Enable decompressing responses.
1917        #[must_use]
1918        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1919            self.inner = self.inner.accept_compressed(encoding);
1920            self
1921        }
1922        /// Limits the maximum size of a decoded message.
1923        ///
1924        /// Default: `4MB`
1925        #[must_use]
1926        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1927            self.inner = self.inner.max_decoding_message_size(limit);
1928            self
1929        }
1930        /// Limits the maximum size of an encoded message.
1931        ///
1932        /// Default: `usize::MAX`
1933        #[must_use]
1934        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1935            self.inner = self.inner.max_encoding_message_size(limit);
1936            self
1937        }
1938        /// Request telemetry info from meta node
1939        pub async fn get_telemetry_info(
1940            &mut self,
1941            request: impl tonic::IntoRequest<super::GetTelemetryInfoRequest>,
1942        ) -> std::result::Result<
1943            tonic::Response<super::TelemetryInfoResponse>,
1944            tonic::Status,
1945        > {
1946            self.inner
1947                .ready()
1948                .await
1949                .map_err(|e| {
1950                    tonic::Status::unknown(
1951                        format!("Service was not ready: {}", e.into()),
1952                    )
1953                })?;
1954            let codec = tonic::codec::ProstCodec::default();
1955            let path = http::uri::PathAndQuery::from_static(
1956                "/meta.TelemetryInfoService/GetTelemetryInfo",
1957            );
1958            let mut req = request.into_request();
1959            req.extensions_mut()
1960                .insert(
1961                    GrpcMethod::new("meta.TelemetryInfoService", "GetTelemetryInfo"),
1962                );
1963            self.inner.unary(req, path, codec).await
1964        }
1965    }
1966}
1967/// Generated client implementations.
1968pub mod heartbeat_service_client {
1969    #![allow(
1970        unused_variables,
1971        dead_code,
1972        missing_docs,
1973        clippy::wildcard_imports,
1974        clippy::let_unit_value,
1975    )]
1976    use tonic::codegen::*;
1977    use tonic::codegen::http::Uri;
1978    #[derive(Debug, Clone)]
1979    pub struct HeartbeatServiceClient<T> {
1980        inner: tonic::client::Grpc<T>,
1981    }
1982    impl HeartbeatServiceClient<tonic::transport::Channel> {
1983        /// Attempt to create a new client by connecting to a given endpoint.
1984        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1985        where
1986            D: TryInto<tonic::transport::Endpoint>,
1987            D::Error: Into<StdError>,
1988        {
1989            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1990            Ok(Self::new(conn))
1991        }
1992    }
1993    impl<T> HeartbeatServiceClient<T>
1994    where
1995        T: tonic::client::GrpcService<tonic::body::BoxBody>,
1996        T::Error: Into<StdError>,
1997        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1998        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1999    {
2000        pub fn new(inner: T) -> Self {
2001            let inner = tonic::client::Grpc::new(inner);
2002            Self { inner }
2003        }
2004        pub fn with_origin(inner: T, origin: Uri) -> Self {
2005            let inner = tonic::client::Grpc::with_origin(inner, origin);
2006            Self { inner }
2007        }
2008        pub fn with_interceptor<F>(
2009            inner: T,
2010            interceptor: F,
2011        ) -> HeartbeatServiceClient<InterceptedService<T, F>>
2012        where
2013            F: tonic::service::Interceptor,
2014            T::ResponseBody: Default,
2015            T: tonic::codegen::Service<
2016                http::Request<tonic::body::BoxBody>,
2017                Response = http::Response<
2018                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
2019                >,
2020            >,
2021            <T as tonic::codegen::Service<
2022                http::Request<tonic::body::BoxBody>,
2023            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2024        {
2025            HeartbeatServiceClient::new(InterceptedService::new(inner, interceptor))
2026        }
2027        /// Compress requests with the given encoding.
2028        ///
2029        /// This requires the server to support it otherwise it might respond with an
2030        /// error.
2031        #[must_use]
2032        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2033            self.inner = self.inner.send_compressed(encoding);
2034            self
2035        }
2036        /// Enable decompressing responses.
2037        #[must_use]
2038        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2039            self.inner = self.inner.accept_compressed(encoding);
2040            self
2041        }
2042        /// Limits the maximum size of a decoded message.
2043        ///
2044        /// Default: `4MB`
2045        #[must_use]
2046        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2047            self.inner = self.inner.max_decoding_message_size(limit);
2048            self
2049        }
2050        /// Limits the maximum size of an encoded message.
2051        ///
2052        /// Default: `usize::MAX`
2053        #[must_use]
2054        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2055            self.inner = self.inner.max_encoding_message_size(limit);
2056            self
2057        }
2058        pub async fn heartbeat(
2059            &mut self,
2060            request: impl tonic::IntoRequest<super::HeartbeatRequest>,
2061        ) -> std::result::Result<
2062            tonic::Response<super::HeartbeatResponse>,
2063            tonic::Status,
2064        > {
2065            self.inner
2066                .ready()
2067                .await
2068                .map_err(|e| {
2069                    tonic::Status::unknown(
2070                        format!("Service was not ready: {}", e.into()),
2071                    )
2072                })?;
2073            let codec = tonic::codec::ProstCodec::default();
2074            let path = http::uri::PathAndQuery::from_static(
2075                "/meta.HeartbeatService/Heartbeat",
2076            );
2077            let mut req = request.into_request();
2078            req.extensions_mut()
2079                .insert(GrpcMethod::new("meta.HeartbeatService", "Heartbeat"));
2080            self.inner.unary(req, path, codec).await
2081        }
2082    }
2083}
2084/// Generated client implementations.
2085pub mod stream_manager_service_client {
2086    #![allow(
2087        unused_variables,
2088        dead_code,
2089        missing_docs,
2090        clippy::wildcard_imports,
2091        clippy::let_unit_value,
2092    )]
2093    use tonic::codegen::*;
2094    use tonic::codegen::http::Uri;
2095    #[derive(Debug, Clone)]
2096    pub struct StreamManagerServiceClient<T> {
2097        inner: tonic::client::Grpc<T>,
2098    }
2099    impl StreamManagerServiceClient<tonic::transport::Channel> {
2100        /// Attempt to create a new client by connecting to a given endpoint.
2101        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2102        where
2103            D: TryInto<tonic::transport::Endpoint>,
2104            D::Error: Into<StdError>,
2105        {
2106            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2107            Ok(Self::new(conn))
2108        }
2109    }
2110    impl<T> StreamManagerServiceClient<T>
2111    where
2112        T: tonic::client::GrpcService<tonic::body::BoxBody>,
2113        T::Error: Into<StdError>,
2114        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2115        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2116    {
2117        pub fn new(inner: T) -> Self {
2118            let inner = tonic::client::Grpc::new(inner);
2119            Self { inner }
2120        }
2121        pub fn with_origin(inner: T, origin: Uri) -> Self {
2122            let inner = tonic::client::Grpc::with_origin(inner, origin);
2123            Self { inner }
2124        }
2125        pub fn with_interceptor<F>(
2126            inner: T,
2127            interceptor: F,
2128        ) -> StreamManagerServiceClient<InterceptedService<T, F>>
2129        where
2130            F: tonic::service::Interceptor,
2131            T::ResponseBody: Default,
2132            T: tonic::codegen::Service<
2133                http::Request<tonic::body::BoxBody>,
2134                Response = http::Response<
2135                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
2136                >,
2137            >,
2138            <T as tonic::codegen::Service<
2139                http::Request<tonic::body::BoxBody>,
2140            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2141        {
2142            StreamManagerServiceClient::new(InterceptedService::new(inner, interceptor))
2143        }
2144        /// Compress requests with the given encoding.
2145        ///
2146        /// This requires the server to support it otherwise it might respond with an
2147        /// error.
2148        #[must_use]
2149        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2150            self.inner = self.inner.send_compressed(encoding);
2151            self
2152        }
2153        /// Enable decompressing responses.
2154        #[must_use]
2155        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2156            self.inner = self.inner.accept_compressed(encoding);
2157            self
2158        }
2159        /// Limits the maximum size of a decoded message.
2160        ///
2161        /// Default: `4MB`
2162        #[must_use]
2163        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2164            self.inner = self.inner.max_decoding_message_size(limit);
2165            self
2166        }
2167        /// Limits the maximum size of an encoded message.
2168        ///
2169        /// Default: `usize::MAX`
2170        #[must_use]
2171        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2172            self.inner = self.inner.max_encoding_message_size(limit);
2173            self
2174        }
2175        pub async fn flush(
2176            &mut self,
2177            request: impl tonic::IntoRequest<super::FlushRequest>,
2178        ) -> std::result::Result<tonic::Response<super::FlushResponse>, tonic::Status> {
2179            self.inner
2180                .ready()
2181                .await
2182                .map_err(|e| {
2183                    tonic::Status::unknown(
2184                        format!("Service was not ready: {}", e.into()),
2185                    )
2186                })?;
2187            let codec = tonic::codec::ProstCodec::default();
2188            let path = http::uri::PathAndQuery::from_static(
2189                "/meta.StreamManagerService/Flush",
2190            );
2191            let mut req = request.into_request();
2192            req.extensions_mut()
2193                .insert(GrpcMethod::new("meta.StreamManagerService", "Flush"));
2194            self.inner.unary(req, path, codec).await
2195        }
2196        pub async fn pause(
2197            &mut self,
2198            request: impl tonic::IntoRequest<super::PauseRequest>,
2199        ) -> std::result::Result<tonic::Response<super::PauseResponse>, tonic::Status> {
2200            self.inner
2201                .ready()
2202                .await
2203                .map_err(|e| {
2204                    tonic::Status::unknown(
2205                        format!("Service was not ready: {}", e.into()),
2206                    )
2207                })?;
2208            let codec = tonic::codec::ProstCodec::default();
2209            let path = http::uri::PathAndQuery::from_static(
2210                "/meta.StreamManagerService/Pause",
2211            );
2212            let mut req = request.into_request();
2213            req.extensions_mut()
2214                .insert(GrpcMethod::new("meta.StreamManagerService", "Pause"));
2215            self.inner.unary(req, path, codec).await
2216        }
2217        pub async fn resume(
2218            &mut self,
2219            request: impl tonic::IntoRequest<super::ResumeRequest>,
2220        ) -> std::result::Result<tonic::Response<super::ResumeResponse>, tonic::Status> {
2221            self.inner
2222                .ready()
2223                .await
2224                .map_err(|e| {
2225                    tonic::Status::unknown(
2226                        format!("Service was not ready: {}", e.into()),
2227                    )
2228                })?;
2229            let codec = tonic::codec::ProstCodec::default();
2230            let path = http::uri::PathAndQuery::from_static(
2231                "/meta.StreamManagerService/Resume",
2232            );
2233            let mut req = request.into_request();
2234            req.extensions_mut()
2235                .insert(GrpcMethod::new("meta.StreamManagerService", "Resume"));
2236            self.inner.unary(req, path, codec).await
2237        }
2238        pub async fn refresh(
2239            &mut self,
2240            request: impl tonic::IntoRequest<super::RefreshRequest>,
2241        ) -> std::result::Result<
2242            tonic::Response<super::RefreshResponse>,
2243            tonic::Status,
2244        > {
2245            self.inner
2246                .ready()
2247                .await
2248                .map_err(|e| {
2249                    tonic::Status::unknown(
2250                        format!("Service was not ready: {}", e.into()),
2251                    )
2252                })?;
2253            let codec = tonic::codec::ProstCodec::default();
2254            let path = http::uri::PathAndQuery::from_static(
2255                "/meta.StreamManagerService/Refresh",
2256            );
2257            let mut req = request.into_request();
2258            req.extensions_mut()
2259                .insert(GrpcMethod::new("meta.StreamManagerService", "Refresh"));
2260            self.inner.unary(req, path, codec).await
2261        }
2262        pub async fn cancel_creating_jobs(
2263            &mut self,
2264            request: impl tonic::IntoRequest<super::CancelCreatingJobsRequest>,
2265        ) -> std::result::Result<
2266            tonic::Response<super::CancelCreatingJobsResponse>,
2267            tonic::Status,
2268        > {
2269            self.inner
2270                .ready()
2271                .await
2272                .map_err(|e| {
2273                    tonic::Status::unknown(
2274                        format!("Service was not ready: {}", e.into()),
2275                    )
2276                })?;
2277            let codec = tonic::codec::ProstCodec::default();
2278            let path = http::uri::PathAndQuery::from_static(
2279                "/meta.StreamManagerService/CancelCreatingJobs",
2280            );
2281            let mut req = request.into_request();
2282            req.extensions_mut()
2283                .insert(
2284                    GrpcMethod::new("meta.StreamManagerService", "CancelCreatingJobs"),
2285                );
2286            self.inner.unary(req, path, codec).await
2287        }
2288        pub async fn list_table_fragments(
2289            &mut self,
2290            request: impl tonic::IntoRequest<super::ListTableFragmentsRequest>,
2291        ) -> std::result::Result<
2292            tonic::Response<super::ListTableFragmentsResponse>,
2293            tonic::Status,
2294        > {
2295            self.inner
2296                .ready()
2297                .await
2298                .map_err(|e| {
2299                    tonic::Status::unknown(
2300                        format!("Service was not ready: {}", e.into()),
2301                    )
2302                })?;
2303            let codec = tonic::codec::ProstCodec::default();
2304            let path = http::uri::PathAndQuery::from_static(
2305                "/meta.StreamManagerService/ListTableFragments",
2306            );
2307            let mut req = request.into_request();
2308            req.extensions_mut()
2309                .insert(
2310                    GrpcMethod::new("meta.StreamManagerService", "ListTableFragments"),
2311                );
2312            self.inner.unary(req, path, codec).await
2313        }
2314        pub async fn list_streaming_job_states(
2315            &mut self,
2316            request: impl tonic::IntoRequest<super::ListStreamingJobStatesRequest>,
2317        ) -> std::result::Result<
2318            tonic::Response<super::ListStreamingJobStatesResponse>,
2319            tonic::Status,
2320        > {
2321            self.inner
2322                .ready()
2323                .await
2324                .map_err(|e| {
2325                    tonic::Status::unknown(
2326                        format!("Service was not ready: {}", e.into()),
2327                    )
2328                })?;
2329            let codec = tonic::codec::ProstCodec::default();
2330            let path = http::uri::PathAndQuery::from_static(
2331                "/meta.StreamManagerService/ListStreamingJobStates",
2332            );
2333            let mut req = request.into_request();
2334            req.extensions_mut()
2335                .insert(
2336                    GrpcMethod::new(
2337                        "meta.StreamManagerService",
2338                        "ListStreamingJobStates",
2339                    ),
2340                );
2341            self.inner.unary(req, path, codec).await
2342        }
2343        pub async fn list_fragment_distribution(
2344            &mut self,
2345            request: impl tonic::IntoRequest<super::ListFragmentDistributionRequest>,
2346        ) -> std::result::Result<
2347            tonic::Response<super::ListFragmentDistributionResponse>,
2348            tonic::Status,
2349        > {
2350            self.inner
2351                .ready()
2352                .await
2353                .map_err(|e| {
2354                    tonic::Status::unknown(
2355                        format!("Service was not ready: {}", e.into()),
2356                    )
2357                })?;
2358            let codec = tonic::codec::ProstCodec::default();
2359            let path = http::uri::PathAndQuery::from_static(
2360                "/meta.StreamManagerService/ListFragmentDistribution",
2361            );
2362            let mut req = request.into_request();
2363            req.extensions_mut()
2364                .insert(
2365                    GrpcMethod::new(
2366                        "meta.StreamManagerService",
2367                        "ListFragmentDistribution",
2368                    ),
2369                );
2370            self.inner.unary(req, path, codec).await
2371        }
2372        pub async fn list_creating_fragment_distribution(
2373            &mut self,
2374            request: impl tonic::IntoRequest<
2375                super::ListCreatingFragmentDistributionRequest,
2376            >,
2377        ) -> std::result::Result<
2378            tonic::Response<super::ListCreatingFragmentDistributionResponse>,
2379            tonic::Status,
2380        > {
2381            self.inner
2382                .ready()
2383                .await
2384                .map_err(|e| {
2385                    tonic::Status::unknown(
2386                        format!("Service was not ready: {}", e.into()),
2387                    )
2388                })?;
2389            let codec = tonic::codec::ProstCodec::default();
2390            let path = http::uri::PathAndQuery::from_static(
2391                "/meta.StreamManagerService/ListCreatingFragmentDistribution",
2392            );
2393            let mut req = request.into_request();
2394            req.extensions_mut()
2395                .insert(
2396                    GrpcMethod::new(
2397                        "meta.StreamManagerService",
2398                        "ListCreatingFragmentDistribution",
2399                    ),
2400                );
2401            self.inner.unary(req, path, codec).await
2402        }
2403        pub async fn list_actor_states(
2404            &mut self,
2405            request: impl tonic::IntoRequest<super::ListActorStatesRequest>,
2406        ) -> std::result::Result<
2407            tonic::Response<super::ListActorStatesResponse>,
2408            tonic::Status,
2409        > {
2410            self.inner
2411                .ready()
2412                .await
2413                .map_err(|e| {
2414                    tonic::Status::unknown(
2415                        format!("Service was not ready: {}", e.into()),
2416                    )
2417                })?;
2418            let codec = tonic::codec::ProstCodec::default();
2419            let path = http::uri::PathAndQuery::from_static(
2420                "/meta.StreamManagerService/ListActorStates",
2421            );
2422            let mut req = request.into_request();
2423            req.extensions_mut()
2424                .insert(GrpcMethod::new("meta.StreamManagerService", "ListActorStates"));
2425            self.inner.unary(req, path, codec).await
2426        }
2427        pub async fn list_actor_splits(
2428            &mut self,
2429            request: impl tonic::IntoRequest<super::ListActorSplitsRequest>,
2430        ) -> std::result::Result<
2431            tonic::Response<super::ListActorSplitsResponse>,
2432            tonic::Status,
2433        > {
2434            self.inner
2435                .ready()
2436                .await
2437                .map_err(|e| {
2438                    tonic::Status::unknown(
2439                        format!("Service was not ready: {}", e.into()),
2440                    )
2441                })?;
2442            let codec = tonic::codec::ProstCodec::default();
2443            let path = http::uri::PathAndQuery::from_static(
2444                "/meta.StreamManagerService/ListActorSplits",
2445            );
2446            let mut req = request.into_request();
2447            req.extensions_mut()
2448                .insert(GrpcMethod::new("meta.StreamManagerService", "ListActorSplits"));
2449            self.inner.unary(req, path, codec).await
2450        }
2451        pub async fn list_object_dependencies(
2452            &mut self,
2453            request: impl tonic::IntoRequest<super::ListObjectDependenciesRequest>,
2454        ) -> std::result::Result<
2455            tonic::Response<super::ListObjectDependenciesResponse>,
2456            tonic::Status,
2457        > {
2458            self.inner
2459                .ready()
2460                .await
2461                .map_err(|e| {
2462                    tonic::Status::unknown(
2463                        format!("Service was not ready: {}", e.into()),
2464                    )
2465                })?;
2466            let codec = tonic::codec::ProstCodec::default();
2467            let path = http::uri::PathAndQuery::from_static(
2468                "/meta.StreamManagerService/ListObjectDependencies",
2469            );
2470            let mut req = request.into_request();
2471            req.extensions_mut()
2472                .insert(
2473                    GrpcMethod::new(
2474                        "meta.StreamManagerService",
2475                        "ListObjectDependencies",
2476                    ),
2477                );
2478            self.inner.unary(req, path, codec).await
2479        }
2480        pub async fn apply_throttle(
2481            &mut self,
2482            request: impl tonic::IntoRequest<super::ApplyThrottleRequest>,
2483        ) -> std::result::Result<
2484            tonic::Response<super::ApplyThrottleResponse>,
2485            tonic::Status,
2486        > {
2487            self.inner
2488                .ready()
2489                .await
2490                .map_err(|e| {
2491                    tonic::Status::unknown(
2492                        format!("Service was not ready: {}", e.into()),
2493                    )
2494                })?;
2495            let codec = tonic::codec::ProstCodec::default();
2496            let path = http::uri::PathAndQuery::from_static(
2497                "/meta.StreamManagerService/ApplyThrottle",
2498            );
2499            let mut req = request.into_request();
2500            req.extensions_mut()
2501                .insert(GrpcMethod::new("meta.StreamManagerService", "ApplyThrottle"));
2502            self.inner.unary(req, path, codec).await
2503        }
2504        pub async fn recover(
2505            &mut self,
2506            request: impl tonic::IntoRequest<super::RecoverRequest>,
2507        ) -> std::result::Result<
2508            tonic::Response<super::RecoverResponse>,
2509            tonic::Status,
2510        > {
2511            self.inner
2512                .ready()
2513                .await
2514                .map_err(|e| {
2515                    tonic::Status::unknown(
2516                        format!("Service was not ready: {}", e.into()),
2517                    )
2518                })?;
2519            let codec = tonic::codec::ProstCodec::default();
2520            let path = http::uri::PathAndQuery::from_static(
2521                "/meta.StreamManagerService/Recover",
2522            );
2523            let mut req = request.into_request();
2524            req.extensions_mut()
2525                .insert(GrpcMethod::new("meta.StreamManagerService", "Recover"));
2526            self.inner.unary(req, path, codec).await
2527        }
2528        pub async fn list_rate_limits(
2529            &mut self,
2530            request: impl tonic::IntoRequest<super::ListRateLimitsRequest>,
2531        ) -> std::result::Result<
2532            tonic::Response<super::ListRateLimitsResponse>,
2533            tonic::Status,
2534        > {
2535            self.inner
2536                .ready()
2537                .await
2538                .map_err(|e| {
2539                    tonic::Status::unknown(
2540                        format!("Service was not ready: {}", e.into()),
2541                    )
2542                })?;
2543            let codec = tonic::codec::ProstCodec::default();
2544            let path = http::uri::PathAndQuery::from_static(
2545                "/meta.StreamManagerService/ListRateLimits",
2546            );
2547            let mut req = request.into_request();
2548            req.extensions_mut()
2549                .insert(GrpcMethod::new("meta.StreamManagerService", "ListRateLimits"));
2550            self.inner.unary(req, path, codec).await
2551        }
2552        pub async fn alter_connector_props(
2553            &mut self,
2554            request: impl tonic::IntoRequest<super::AlterConnectorPropsRequest>,
2555        ) -> std::result::Result<
2556            tonic::Response<super::AlterConnectorPropsResponse>,
2557            tonic::Status,
2558        > {
2559            self.inner
2560                .ready()
2561                .await
2562                .map_err(|e| {
2563                    tonic::Status::unknown(
2564                        format!("Service was not ready: {}", e.into()),
2565                    )
2566                })?;
2567            let codec = tonic::codec::ProstCodec::default();
2568            let path = http::uri::PathAndQuery::from_static(
2569                "/meta.StreamManagerService/AlterConnectorProps",
2570            );
2571            let mut req = request.into_request();
2572            req.extensions_mut()
2573                .insert(
2574                    GrpcMethod::new("meta.StreamManagerService", "AlterConnectorProps"),
2575                );
2576            self.inner.unary(req, path, codec).await
2577        }
2578        pub async fn get_fragment_by_id(
2579            &mut self,
2580            request: impl tonic::IntoRequest<super::GetFragmentByIdRequest>,
2581        ) -> std::result::Result<
2582            tonic::Response<super::GetFragmentByIdResponse>,
2583            tonic::Status,
2584        > {
2585            self.inner
2586                .ready()
2587                .await
2588                .map_err(|e| {
2589                    tonic::Status::unknown(
2590                        format!("Service was not ready: {}", e.into()),
2591                    )
2592                })?;
2593            let codec = tonic::codec::ProstCodec::default();
2594            let path = http::uri::PathAndQuery::from_static(
2595                "/meta.StreamManagerService/GetFragmentById",
2596            );
2597            let mut req = request.into_request();
2598            req.extensions_mut()
2599                .insert(GrpcMethod::new("meta.StreamManagerService", "GetFragmentById"));
2600            self.inner.unary(req, path, codec).await
2601        }
2602        pub async fn set_sync_log_store_aligned(
2603            &mut self,
2604            request: impl tonic::IntoRequest<super::SetSyncLogStoreAlignedRequest>,
2605        ) -> std::result::Result<
2606            tonic::Response<super::SetSyncLogStoreAlignedResponse>,
2607            tonic::Status,
2608        > {
2609            self.inner
2610                .ready()
2611                .await
2612                .map_err(|e| {
2613                    tonic::Status::unknown(
2614                        format!("Service was not ready: {}", e.into()),
2615                    )
2616                })?;
2617            let codec = tonic::codec::ProstCodec::default();
2618            let path = http::uri::PathAndQuery::from_static(
2619                "/meta.StreamManagerService/SetSyncLogStoreAligned",
2620            );
2621            let mut req = request.into_request();
2622            req.extensions_mut()
2623                .insert(
2624                    GrpcMethod::new(
2625                        "meta.StreamManagerService",
2626                        "SetSyncLogStoreAligned",
2627                    ),
2628                );
2629            self.inner.unary(req, path, codec).await
2630        }
2631    }
2632}
2633/// Generated client implementations.
2634pub mod cluster_service_client {
2635    #![allow(
2636        unused_variables,
2637        dead_code,
2638        missing_docs,
2639        clippy::wildcard_imports,
2640        clippy::let_unit_value,
2641    )]
2642    use tonic::codegen::*;
2643    use tonic::codegen::http::Uri;
2644    #[derive(Debug, Clone)]
2645    pub struct ClusterServiceClient<T> {
2646        inner: tonic::client::Grpc<T>,
2647    }
2648    impl ClusterServiceClient<tonic::transport::Channel> {
2649        /// Attempt to create a new client by connecting to a given endpoint.
2650        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2651        where
2652            D: TryInto<tonic::transport::Endpoint>,
2653            D::Error: Into<StdError>,
2654        {
2655            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2656            Ok(Self::new(conn))
2657        }
2658    }
2659    impl<T> ClusterServiceClient<T>
2660    where
2661        T: tonic::client::GrpcService<tonic::body::BoxBody>,
2662        T::Error: Into<StdError>,
2663        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2664        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2665    {
2666        pub fn new(inner: T) -> Self {
2667            let inner = tonic::client::Grpc::new(inner);
2668            Self { inner }
2669        }
2670        pub fn with_origin(inner: T, origin: Uri) -> Self {
2671            let inner = tonic::client::Grpc::with_origin(inner, origin);
2672            Self { inner }
2673        }
2674        pub fn with_interceptor<F>(
2675            inner: T,
2676            interceptor: F,
2677        ) -> ClusterServiceClient<InterceptedService<T, F>>
2678        where
2679            F: tonic::service::Interceptor,
2680            T::ResponseBody: Default,
2681            T: tonic::codegen::Service<
2682                http::Request<tonic::body::BoxBody>,
2683                Response = http::Response<
2684                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
2685                >,
2686            >,
2687            <T as tonic::codegen::Service<
2688                http::Request<tonic::body::BoxBody>,
2689            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2690        {
2691            ClusterServiceClient::new(InterceptedService::new(inner, interceptor))
2692        }
2693        /// Compress requests with the given encoding.
2694        ///
2695        /// This requires the server to support it otherwise it might respond with an
2696        /// error.
2697        #[must_use]
2698        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2699            self.inner = self.inner.send_compressed(encoding);
2700            self
2701        }
2702        /// Enable decompressing responses.
2703        #[must_use]
2704        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2705            self.inner = self.inner.accept_compressed(encoding);
2706            self
2707        }
2708        /// Limits the maximum size of a decoded message.
2709        ///
2710        /// Default: `4MB`
2711        #[must_use]
2712        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2713            self.inner = self.inner.max_decoding_message_size(limit);
2714            self
2715        }
2716        /// Limits the maximum size of an encoded message.
2717        ///
2718        /// Default: `usize::MAX`
2719        #[must_use]
2720        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2721            self.inner = self.inner.max_encoding_message_size(limit);
2722            self
2723        }
2724        pub async fn add_worker_node(
2725            &mut self,
2726            request: impl tonic::IntoRequest<super::AddWorkerNodeRequest>,
2727        ) -> std::result::Result<
2728            tonic::Response<super::AddWorkerNodeResponse>,
2729            tonic::Status,
2730        > {
2731            self.inner
2732                .ready()
2733                .await
2734                .map_err(|e| {
2735                    tonic::Status::unknown(
2736                        format!("Service was not ready: {}", e.into()),
2737                    )
2738                })?;
2739            let codec = tonic::codec::ProstCodec::default();
2740            let path = http::uri::PathAndQuery::from_static(
2741                "/meta.ClusterService/AddWorkerNode",
2742            );
2743            let mut req = request.into_request();
2744            req.extensions_mut()
2745                .insert(GrpcMethod::new("meta.ClusterService", "AddWorkerNode"));
2746            self.inner.unary(req, path, codec).await
2747        }
2748        pub async fn activate_worker_node(
2749            &mut self,
2750            request: impl tonic::IntoRequest<super::ActivateWorkerNodeRequest>,
2751        ) -> std::result::Result<
2752            tonic::Response<super::ActivateWorkerNodeResponse>,
2753            tonic::Status,
2754        > {
2755            self.inner
2756                .ready()
2757                .await
2758                .map_err(|e| {
2759                    tonic::Status::unknown(
2760                        format!("Service was not ready: {}", e.into()),
2761                    )
2762                })?;
2763            let codec = tonic::codec::ProstCodec::default();
2764            let path = http::uri::PathAndQuery::from_static(
2765                "/meta.ClusterService/ActivateWorkerNode",
2766            );
2767            let mut req = request.into_request();
2768            req.extensions_mut()
2769                .insert(GrpcMethod::new("meta.ClusterService", "ActivateWorkerNode"));
2770            self.inner.unary(req, path, codec).await
2771        }
2772        pub async fn delete_worker_node(
2773            &mut self,
2774            request: impl tonic::IntoRequest<super::DeleteWorkerNodeRequest>,
2775        ) -> std::result::Result<
2776            tonic::Response<super::DeleteWorkerNodeResponse>,
2777            tonic::Status,
2778        > {
2779            self.inner
2780                .ready()
2781                .await
2782                .map_err(|e| {
2783                    tonic::Status::unknown(
2784                        format!("Service was not ready: {}", e.into()),
2785                    )
2786                })?;
2787            let codec = tonic::codec::ProstCodec::default();
2788            let path = http::uri::PathAndQuery::from_static(
2789                "/meta.ClusterService/DeleteWorkerNode",
2790            );
2791            let mut req = request.into_request();
2792            req.extensions_mut()
2793                .insert(GrpcMethod::new("meta.ClusterService", "DeleteWorkerNode"));
2794            self.inner.unary(req, path, codec).await
2795        }
2796        pub async fn update_worker_node_schedulability(
2797            &mut self,
2798            request: impl tonic::IntoRequest<
2799                super::UpdateWorkerNodeSchedulabilityRequest,
2800            >,
2801        ) -> std::result::Result<
2802            tonic::Response<super::UpdateWorkerNodeSchedulabilityResponse>,
2803            tonic::Status,
2804        > {
2805            self.inner
2806                .ready()
2807                .await
2808                .map_err(|e| {
2809                    tonic::Status::unknown(
2810                        format!("Service was not ready: {}", e.into()),
2811                    )
2812                })?;
2813            let codec = tonic::codec::ProstCodec::default();
2814            let path = http::uri::PathAndQuery::from_static(
2815                "/meta.ClusterService/UpdateWorkerNodeSchedulability",
2816            );
2817            let mut req = request.into_request();
2818            req.extensions_mut()
2819                .insert(
2820                    GrpcMethod::new(
2821                        "meta.ClusterService",
2822                        "UpdateWorkerNodeSchedulability",
2823                    ),
2824                );
2825            self.inner.unary(req, path, codec).await
2826        }
2827        pub async fn list_all_nodes(
2828            &mut self,
2829            request: impl tonic::IntoRequest<super::ListAllNodesRequest>,
2830        ) -> std::result::Result<
2831            tonic::Response<super::ListAllNodesResponse>,
2832            tonic::Status,
2833        > {
2834            self.inner
2835                .ready()
2836                .await
2837                .map_err(|e| {
2838                    tonic::Status::unknown(
2839                        format!("Service was not ready: {}", e.into()),
2840                    )
2841                })?;
2842            let codec = tonic::codec::ProstCodec::default();
2843            let path = http::uri::PathAndQuery::from_static(
2844                "/meta.ClusterService/ListAllNodes",
2845            );
2846            let mut req = request.into_request();
2847            req.extensions_mut()
2848                .insert(GrpcMethod::new("meta.ClusterService", "ListAllNodes"));
2849            self.inner.unary(req, path, codec).await
2850        }
2851        pub async fn get_cluster_recovery_status(
2852            &mut self,
2853            request: impl tonic::IntoRequest<super::GetClusterRecoveryStatusRequest>,
2854        ) -> std::result::Result<
2855            tonic::Response<super::GetClusterRecoveryStatusResponse>,
2856            tonic::Status,
2857        > {
2858            self.inner
2859                .ready()
2860                .await
2861                .map_err(|e| {
2862                    tonic::Status::unknown(
2863                        format!("Service was not ready: {}", e.into()),
2864                    )
2865                })?;
2866            let codec = tonic::codec::ProstCodec::default();
2867            let path = http::uri::PathAndQuery::from_static(
2868                "/meta.ClusterService/GetClusterRecoveryStatus",
2869            );
2870            let mut req = request.into_request();
2871            req.extensions_mut()
2872                .insert(
2873                    GrpcMethod::new("meta.ClusterService", "GetClusterRecoveryStatus"),
2874                );
2875            self.inner.unary(req, path, codec).await
2876        }
2877        pub async fn get_meta_store_info(
2878            &mut self,
2879            request: impl tonic::IntoRequest<super::GetMetaStoreInfoRequest>,
2880        ) -> std::result::Result<
2881            tonic::Response<super::GetMetaStoreInfoResponse>,
2882            tonic::Status,
2883        > {
2884            self.inner
2885                .ready()
2886                .await
2887                .map_err(|e| {
2888                    tonic::Status::unknown(
2889                        format!("Service was not ready: {}", e.into()),
2890                    )
2891                })?;
2892            let codec = tonic::codec::ProstCodec::default();
2893            let path = http::uri::PathAndQuery::from_static(
2894                "/meta.ClusterService/GetMetaStoreInfo",
2895            );
2896            let mut req = request.into_request();
2897            req.extensions_mut()
2898                .insert(GrpcMethod::new("meta.ClusterService", "GetMetaStoreInfo"));
2899            self.inner.unary(req, path, codec).await
2900        }
2901    }
2902}
2903/// Generated client implementations.
2904pub mod notification_service_client {
2905    #![allow(
2906        unused_variables,
2907        dead_code,
2908        missing_docs,
2909        clippy::wildcard_imports,
2910        clippy::let_unit_value,
2911    )]
2912    use tonic::codegen::*;
2913    use tonic::codegen::http::Uri;
2914    #[derive(Debug, Clone)]
2915    pub struct NotificationServiceClient<T> {
2916        inner: tonic::client::Grpc<T>,
2917    }
2918    impl NotificationServiceClient<tonic::transport::Channel> {
2919        /// Attempt to create a new client by connecting to a given endpoint.
2920        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2921        where
2922            D: TryInto<tonic::transport::Endpoint>,
2923            D::Error: Into<StdError>,
2924        {
2925            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2926            Ok(Self::new(conn))
2927        }
2928    }
2929    impl<T> NotificationServiceClient<T>
2930    where
2931        T: tonic::client::GrpcService<tonic::body::BoxBody>,
2932        T::Error: Into<StdError>,
2933        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2934        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2935    {
2936        pub fn new(inner: T) -> Self {
2937            let inner = tonic::client::Grpc::new(inner);
2938            Self { inner }
2939        }
2940        pub fn with_origin(inner: T, origin: Uri) -> Self {
2941            let inner = tonic::client::Grpc::with_origin(inner, origin);
2942            Self { inner }
2943        }
2944        pub fn with_interceptor<F>(
2945            inner: T,
2946            interceptor: F,
2947        ) -> NotificationServiceClient<InterceptedService<T, F>>
2948        where
2949            F: tonic::service::Interceptor,
2950            T::ResponseBody: Default,
2951            T: tonic::codegen::Service<
2952                http::Request<tonic::body::BoxBody>,
2953                Response = http::Response<
2954                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
2955                >,
2956            >,
2957            <T as tonic::codegen::Service<
2958                http::Request<tonic::body::BoxBody>,
2959            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2960        {
2961            NotificationServiceClient::new(InterceptedService::new(inner, interceptor))
2962        }
2963        /// Compress requests with the given encoding.
2964        ///
2965        /// This requires the server to support it otherwise it might respond with an
2966        /// error.
2967        #[must_use]
2968        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2969            self.inner = self.inner.send_compressed(encoding);
2970            self
2971        }
2972        /// Enable decompressing responses.
2973        #[must_use]
2974        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2975            self.inner = self.inner.accept_compressed(encoding);
2976            self
2977        }
2978        /// Limits the maximum size of a decoded message.
2979        ///
2980        /// Default: `4MB`
2981        #[must_use]
2982        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2983            self.inner = self.inner.max_decoding_message_size(limit);
2984            self
2985        }
2986        /// Limits the maximum size of an encoded message.
2987        ///
2988        /// Default: `usize::MAX`
2989        #[must_use]
2990        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2991            self.inner = self.inner.max_encoding_message_size(limit);
2992            self
2993        }
2994        pub async fn subscribe(
2995            &mut self,
2996            request: impl tonic::IntoRequest<super::SubscribeRequest>,
2997        ) -> std::result::Result<
2998            tonic::Response<tonic::codec::Streaming<super::SubscribeResponse>>,
2999            tonic::Status,
3000        > {
3001            self.inner
3002                .ready()
3003                .await
3004                .map_err(|e| {
3005                    tonic::Status::unknown(
3006                        format!("Service was not ready: {}", e.into()),
3007                    )
3008                })?;
3009            let codec = tonic::codec::ProstCodec::default();
3010            let path = http::uri::PathAndQuery::from_static(
3011                "/meta.NotificationService/Subscribe",
3012            );
3013            let mut req = request.into_request();
3014            req.extensions_mut()
3015                .insert(GrpcMethod::new("meta.NotificationService", "Subscribe"));
3016            self.inner.server_streaming(req, path, codec).await
3017        }
3018    }
3019}
3020/// Generated client implementations.
3021pub mod scale_service_client {
3022    #![allow(
3023        unused_variables,
3024        dead_code,
3025        missing_docs,
3026        clippy::wildcard_imports,
3027        clippy::let_unit_value,
3028    )]
3029    use tonic::codegen::*;
3030    use tonic::codegen::http::Uri;
3031    /// This is used by `risectl`
3032    #[derive(Debug, Clone)]
3033    pub struct ScaleServiceClient<T> {
3034        inner: tonic::client::Grpc<T>,
3035    }
3036    impl ScaleServiceClient<tonic::transport::Channel> {
3037        /// Attempt to create a new client by connecting to a given endpoint.
3038        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3039        where
3040            D: TryInto<tonic::transport::Endpoint>,
3041            D::Error: Into<StdError>,
3042        {
3043            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3044            Ok(Self::new(conn))
3045        }
3046    }
3047    impl<T> ScaleServiceClient<T>
3048    where
3049        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3050        T::Error: Into<StdError>,
3051        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3052        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3053    {
3054        pub fn new(inner: T) -> Self {
3055            let inner = tonic::client::Grpc::new(inner);
3056            Self { inner }
3057        }
3058        pub fn with_origin(inner: T, origin: Uri) -> Self {
3059            let inner = tonic::client::Grpc::with_origin(inner, origin);
3060            Self { inner }
3061        }
3062        pub fn with_interceptor<F>(
3063            inner: T,
3064            interceptor: F,
3065        ) -> ScaleServiceClient<InterceptedService<T, F>>
3066        where
3067            F: tonic::service::Interceptor,
3068            T::ResponseBody: Default,
3069            T: tonic::codegen::Service<
3070                http::Request<tonic::body::BoxBody>,
3071                Response = http::Response<
3072                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3073                >,
3074            >,
3075            <T as tonic::codegen::Service<
3076                http::Request<tonic::body::BoxBody>,
3077            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3078        {
3079            ScaleServiceClient::new(InterceptedService::new(inner, interceptor))
3080        }
3081        /// Compress requests with the given encoding.
3082        ///
3083        /// This requires the server to support it otherwise it might respond with an
3084        /// error.
3085        #[must_use]
3086        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3087            self.inner = self.inner.send_compressed(encoding);
3088            self
3089        }
3090        /// Enable decompressing responses.
3091        #[must_use]
3092        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3093            self.inner = self.inner.accept_compressed(encoding);
3094            self
3095        }
3096        /// Limits the maximum size of a decoded message.
3097        ///
3098        /// Default: `4MB`
3099        #[must_use]
3100        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3101            self.inner = self.inner.max_decoding_message_size(limit);
3102            self
3103        }
3104        /// Limits the maximum size of an encoded message.
3105        ///
3106        /// Default: `usize::MAX`
3107        #[must_use]
3108        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3109            self.inner = self.inner.max_encoding_message_size(limit);
3110            self
3111        }
3112        pub async fn get_cluster_info(
3113            &mut self,
3114            request: impl tonic::IntoRequest<super::GetClusterInfoRequest>,
3115        ) -> std::result::Result<
3116            tonic::Response<super::GetClusterInfoResponse>,
3117            tonic::Status,
3118        > {
3119            self.inner
3120                .ready()
3121                .await
3122                .map_err(|e| {
3123                    tonic::Status::unknown(
3124                        format!("Service was not ready: {}", e.into()),
3125                    )
3126                })?;
3127            let codec = tonic::codec::ProstCodec::default();
3128            let path = http::uri::PathAndQuery::from_static(
3129                "/meta.ScaleService/GetClusterInfo",
3130            );
3131            let mut req = request.into_request();
3132            req.extensions_mut()
3133                .insert(GrpcMethod::new("meta.ScaleService", "GetClusterInfo"));
3134            self.inner.unary(req, path, codec).await
3135        }
3136        pub async fn reschedule(
3137            &mut self,
3138            request: impl tonic::IntoRequest<super::RescheduleRequest>,
3139        ) -> std::result::Result<
3140            tonic::Response<super::RescheduleResponse>,
3141            tonic::Status,
3142        > {
3143            self.inner
3144                .ready()
3145                .await
3146                .map_err(|e| {
3147                    tonic::Status::unknown(
3148                        format!("Service was not ready: {}", e.into()),
3149                    )
3150                })?;
3151            let codec = tonic::codec::ProstCodec::default();
3152            let path = http::uri::PathAndQuery::from_static(
3153                "/meta.ScaleService/Reschedule",
3154            );
3155            let mut req = request.into_request();
3156            req.extensions_mut()
3157                .insert(GrpcMethod::new("meta.ScaleService", "Reschedule"));
3158            self.inner.unary(req, path, codec).await
3159        }
3160        pub async fn update_streaming_job_node_labels(
3161            &mut self,
3162            request: impl tonic::IntoRequest<super::UpdateStreamingJobNodeLabelsRequest>,
3163        ) -> std::result::Result<
3164            tonic::Response<super::UpdateStreamingJobNodeLabelsResponse>,
3165            tonic::Status,
3166        > {
3167            self.inner
3168                .ready()
3169                .await
3170                .map_err(|e| {
3171                    tonic::Status::unknown(
3172                        format!("Service was not ready: {}", e.into()),
3173                    )
3174                })?;
3175            let codec = tonic::codec::ProstCodec::default();
3176            let path = http::uri::PathAndQuery::from_static(
3177                "/meta.ScaleService/UpdateStreamingJobNodeLabels",
3178            );
3179            let mut req = request.into_request();
3180            req.extensions_mut()
3181                .insert(
3182                    GrpcMethod::new("meta.ScaleService", "UpdateStreamingJobNodeLabels"),
3183                );
3184            self.inner.unary(req, path, codec).await
3185        }
3186        pub async fn get_serverless_streaming_jobs_status(
3187            &mut self,
3188            request: impl tonic::IntoRequest<
3189                super::GetServerlessStreamingJobsStatusRequest,
3190            >,
3191        ) -> std::result::Result<
3192            tonic::Response<super::GetServerlessStreamingJobsStatusResponse>,
3193            tonic::Status,
3194        > {
3195            self.inner
3196                .ready()
3197                .await
3198                .map_err(|e| {
3199                    tonic::Status::unknown(
3200                        format!("Service was not ready: {}", e.into()),
3201                    )
3202                })?;
3203            let codec = tonic::codec::ProstCodec::default();
3204            let path = http::uri::PathAndQuery::from_static(
3205                "/meta.ScaleService/GetServerlessStreamingJobsStatus",
3206            );
3207            let mut req = request.into_request();
3208            req.extensions_mut()
3209                .insert(
3210                    GrpcMethod::new(
3211                        "meta.ScaleService",
3212                        "GetServerlessStreamingJobsStatus",
3213                    ),
3214                );
3215            self.inner.unary(req, path, codec).await
3216        }
3217    }
3218}
3219/// Generated client implementations.
3220pub mod meta_member_service_client {
3221    #![allow(
3222        unused_variables,
3223        dead_code,
3224        missing_docs,
3225        clippy::wildcard_imports,
3226        clippy::let_unit_value,
3227    )]
3228    use tonic::codegen::*;
3229    use tonic::codegen::http::Uri;
3230    #[derive(Debug, Clone)]
3231    pub struct MetaMemberServiceClient<T> {
3232        inner: tonic::client::Grpc<T>,
3233    }
3234    impl MetaMemberServiceClient<tonic::transport::Channel> {
3235        /// Attempt to create a new client by connecting to a given endpoint.
3236        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3237        where
3238            D: TryInto<tonic::transport::Endpoint>,
3239            D::Error: Into<StdError>,
3240        {
3241            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3242            Ok(Self::new(conn))
3243        }
3244    }
3245    impl<T> MetaMemberServiceClient<T>
3246    where
3247        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3248        T::Error: Into<StdError>,
3249        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3250        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3251    {
3252        pub fn new(inner: T) -> Self {
3253            let inner = tonic::client::Grpc::new(inner);
3254            Self { inner }
3255        }
3256        pub fn with_origin(inner: T, origin: Uri) -> Self {
3257            let inner = tonic::client::Grpc::with_origin(inner, origin);
3258            Self { inner }
3259        }
3260        pub fn with_interceptor<F>(
3261            inner: T,
3262            interceptor: F,
3263        ) -> MetaMemberServiceClient<InterceptedService<T, F>>
3264        where
3265            F: tonic::service::Interceptor,
3266            T::ResponseBody: Default,
3267            T: tonic::codegen::Service<
3268                http::Request<tonic::body::BoxBody>,
3269                Response = http::Response<
3270                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3271                >,
3272            >,
3273            <T as tonic::codegen::Service<
3274                http::Request<tonic::body::BoxBody>,
3275            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3276        {
3277            MetaMemberServiceClient::new(InterceptedService::new(inner, interceptor))
3278        }
3279        /// Compress requests with the given encoding.
3280        ///
3281        /// This requires the server to support it otherwise it might respond with an
3282        /// error.
3283        #[must_use]
3284        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3285            self.inner = self.inner.send_compressed(encoding);
3286            self
3287        }
3288        /// Enable decompressing responses.
3289        #[must_use]
3290        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3291            self.inner = self.inner.accept_compressed(encoding);
3292            self
3293        }
3294        /// Limits the maximum size of a decoded message.
3295        ///
3296        /// Default: `4MB`
3297        #[must_use]
3298        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3299            self.inner = self.inner.max_decoding_message_size(limit);
3300            self
3301        }
3302        /// Limits the maximum size of an encoded message.
3303        ///
3304        /// Default: `usize::MAX`
3305        #[must_use]
3306        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3307            self.inner = self.inner.max_encoding_message_size(limit);
3308            self
3309        }
3310        pub async fn members(
3311            &mut self,
3312            request: impl tonic::IntoRequest<super::MembersRequest>,
3313        ) -> std::result::Result<
3314            tonic::Response<super::MembersResponse>,
3315            tonic::Status,
3316        > {
3317            self.inner
3318                .ready()
3319                .await
3320                .map_err(|e| {
3321                    tonic::Status::unknown(
3322                        format!("Service was not ready: {}", e.into()),
3323                    )
3324                })?;
3325            let codec = tonic::codec::ProstCodec::default();
3326            let path = http::uri::PathAndQuery::from_static(
3327                "/meta.MetaMemberService/Members",
3328            );
3329            let mut req = request.into_request();
3330            req.extensions_mut()
3331                .insert(GrpcMethod::new("meta.MetaMemberService", "Members"));
3332            self.inner.unary(req, path, codec).await
3333        }
3334    }
3335}
3336/// Generated client implementations.
3337pub mod system_params_service_client {
3338    #![allow(
3339        unused_variables,
3340        dead_code,
3341        missing_docs,
3342        clippy::wildcard_imports,
3343        clippy::let_unit_value,
3344    )]
3345    use tonic::codegen::*;
3346    use tonic::codegen::http::Uri;
3347    #[derive(Debug, Clone)]
3348    pub struct SystemParamsServiceClient<T> {
3349        inner: tonic::client::Grpc<T>,
3350    }
3351    impl SystemParamsServiceClient<tonic::transport::Channel> {
3352        /// Attempt to create a new client by connecting to a given endpoint.
3353        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3354        where
3355            D: TryInto<tonic::transport::Endpoint>,
3356            D::Error: Into<StdError>,
3357        {
3358            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3359            Ok(Self::new(conn))
3360        }
3361    }
3362    impl<T> SystemParamsServiceClient<T>
3363    where
3364        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3365        T::Error: Into<StdError>,
3366        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3367        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3368    {
3369        pub fn new(inner: T) -> Self {
3370            let inner = tonic::client::Grpc::new(inner);
3371            Self { inner }
3372        }
3373        pub fn with_origin(inner: T, origin: Uri) -> Self {
3374            let inner = tonic::client::Grpc::with_origin(inner, origin);
3375            Self { inner }
3376        }
3377        pub fn with_interceptor<F>(
3378            inner: T,
3379            interceptor: F,
3380        ) -> SystemParamsServiceClient<InterceptedService<T, F>>
3381        where
3382            F: tonic::service::Interceptor,
3383            T::ResponseBody: Default,
3384            T: tonic::codegen::Service<
3385                http::Request<tonic::body::BoxBody>,
3386                Response = http::Response<
3387                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3388                >,
3389            >,
3390            <T as tonic::codegen::Service<
3391                http::Request<tonic::body::BoxBody>,
3392            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3393        {
3394            SystemParamsServiceClient::new(InterceptedService::new(inner, interceptor))
3395        }
3396        /// Compress requests with the given encoding.
3397        ///
3398        /// This requires the server to support it otherwise it might respond with an
3399        /// error.
3400        #[must_use]
3401        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3402            self.inner = self.inner.send_compressed(encoding);
3403            self
3404        }
3405        /// Enable decompressing responses.
3406        #[must_use]
3407        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3408            self.inner = self.inner.accept_compressed(encoding);
3409            self
3410        }
3411        /// Limits the maximum size of a decoded message.
3412        ///
3413        /// Default: `4MB`
3414        #[must_use]
3415        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3416            self.inner = self.inner.max_decoding_message_size(limit);
3417            self
3418        }
3419        /// Limits the maximum size of an encoded message.
3420        ///
3421        /// Default: `usize::MAX`
3422        #[must_use]
3423        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3424            self.inner = self.inner.max_encoding_message_size(limit);
3425            self
3426        }
3427        pub async fn get_system_params(
3428            &mut self,
3429            request: impl tonic::IntoRequest<super::GetSystemParamsRequest>,
3430        ) -> std::result::Result<
3431            tonic::Response<super::GetSystemParamsResponse>,
3432            tonic::Status,
3433        > {
3434            self.inner
3435                .ready()
3436                .await
3437                .map_err(|e| {
3438                    tonic::Status::unknown(
3439                        format!("Service was not ready: {}", e.into()),
3440                    )
3441                })?;
3442            let codec = tonic::codec::ProstCodec::default();
3443            let path = http::uri::PathAndQuery::from_static(
3444                "/meta.SystemParamsService/GetSystemParams",
3445            );
3446            let mut req = request.into_request();
3447            req.extensions_mut()
3448                .insert(GrpcMethod::new("meta.SystemParamsService", "GetSystemParams"));
3449            self.inner.unary(req, path, codec).await
3450        }
3451        pub async fn set_system_param(
3452            &mut self,
3453            request: impl tonic::IntoRequest<super::SetSystemParamRequest>,
3454        ) -> std::result::Result<
3455            tonic::Response<super::SetSystemParamResponse>,
3456            tonic::Status,
3457        > {
3458            self.inner
3459                .ready()
3460                .await
3461                .map_err(|e| {
3462                    tonic::Status::unknown(
3463                        format!("Service was not ready: {}", e.into()),
3464                    )
3465                })?;
3466            let codec = tonic::codec::ProstCodec::default();
3467            let path = http::uri::PathAndQuery::from_static(
3468                "/meta.SystemParamsService/SetSystemParam",
3469            );
3470            let mut req = request.into_request();
3471            req.extensions_mut()
3472                .insert(GrpcMethod::new("meta.SystemParamsService", "SetSystemParam"));
3473            self.inner.unary(req, path, codec).await
3474        }
3475    }
3476}
3477/// Generated client implementations.
3478pub mod session_param_service_client {
3479    #![allow(
3480        unused_variables,
3481        dead_code,
3482        missing_docs,
3483        clippy::wildcard_imports,
3484        clippy::let_unit_value,
3485    )]
3486    use tonic::codegen::*;
3487    use tonic::codegen::http::Uri;
3488    /// Used for alter system wide default parameters
3489    #[derive(Debug, Clone)]
3490    pub struct SessionParamServiceClient<T> {
3491        inner: tonic::client::Grpc<T>,
3492    }
3493    impl SessionParamServiceClient<tonic::transport::Channel> {
3494        /// Attempt to create a new client by connecting to a given endpoint.
3495        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3496        where
3497            D: TryInto<tonic::transport::Endpoint>,
3498            D::Error: Into<StdError>,
3499        {
3500            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3501            Ok(Self::new(conn))
3502        }
3503    }
3504    impl<T> SessionParamServiceClient<T>
3505    where
3506        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3507        T::Error: Into<StdError>,
3508        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3509        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3510    {
3511        pub fn new(inner: T) -> Self {
3512            let inner = tonic::client::Grpc::new(inner);
3513            Self { inner }
3514        }
3515        pub fn with_origin(inner: T, origin: Uri) -> Self {
3516            let inner = tonic::client::Grpc::with_origin(inner, origin);
3517            Self { inner }
3518        }
3519        pub fn with_interceptor<F>(
3520            inner: T,
3521            interceptor: F,
3522        ) -> SessionParamServiceClient<InterceptedService<T, F>>
3523        where
3524            F: tonic::service::Interceptor,
3525            T::ResponseBody: Default,
3526            T: tonic::codegen::Service<
3527                http::Request<tonic::body::BoxBody>,
3528                Response = http::Response<
3529                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3530                >,
3531            >,
3532            <T as tonic::codegen::Service<
3533                http::Request<tonic::body::BoxBody>,
3534            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3535        {
3536            SessionParamServiceClient::new(InterceptedService::new(inner, interceptor))
3537        }
3538        /// Compress requests with the given encoding.
3539        ///
3540        /// This requires the server to support it otherwise it might respond with an
3541        /// error.
3542        #[must_use]
3543        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3544            self.inner = self.inner.send_compressed(encoding);
3545            self
3546        }
3547        /// Enable decompressing responses.
3548        #[must_use]
3549        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3550            self.inner = self.inner.accept_compressed(encoding);
3551            self
3552        }
3553        /// Limits the maximum size of a decoded message.
3554        ///
3555        /// Default: `4MB`
3556        #[must_use]
3557        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3558            self.inner = self.inner.max_decoding_message_size(limit);
3559            self
3560        }
3561        /// Limits the maximum size of an encoded message.
3562        ///
3563        /// Default: `usize::MAX`
3564        #[must_use]
3565        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3566            self.inner = self.inner.max_encoding_message_size(limit);
3567            self
3568        }
3569        pub async fn get_session_params(
3570            &mut self,
3571            request: impl tonic::IntoRequest<super::GetSessionParamsRequest>,
3572        ) -> std::result::Result<
3573            tonic::Response<super::GetSessionParamsResponse>,
3574            tonic::Status,
3575        > {
3576            self.inner
3577                .ready()
3578                .await
3579                .map_err(|e| {
3580                    tonic::Status::unknown(
3581                        format!("Service was not ready: {}", e.into()),
3582                    )
3583                })?;
3584            let codec = tonic::codec::ProstCodec::default();
3585            let path = http::uri::PathAndQuery::from_static(
3586                "/meta.SessionParamService/GetSessionParams",
3587            );
3588            let mut req = request.into_request();
3589            req.extensions_mut()
3590                .insert(GrpcMethod::new("meta.SessionParamService", "GetSessionParams"));
3591            self.inner.unary(req, path, codec).await
3592        }
3593        pub async fn set_session_param(
3594            &mut self,
3595            request: impl tonic::IntoRequest<super::SetSessionParamRequest>,
3596        ) -> std::result::Result<
3597            tonic::Response<super::SetSessionParamResponse>,
3598            tonic::Status,
3599        > {
3600            self.inner
3601                .ready()
3602                .await
3603                .map_err(|e| {
3604                    tonic::Status::unknown(
3605                        format!("Service was not ready: {}", e.into()),
3606                    )
3607                })?;
3608            let codec = tonic::codec::ProstCodec::default();
3609            let path = http::uri::PathAndQuery::from_static(
3610                "/meta.SessionParamService/SetSessionParam",
3611            );
3612            let mut req = request.into_request();
3613            req.extensions_mut()
3614                .insert(GrpcMethod::new("meta.SessionParamService", "SetSessionParam"));
3615            self.inner.unary(req, path, codec).await
3616        }
3617    }
3618}
3619/// Generated client implementations.
3620pub mod serving_service_client {
3621    #![allow(
3622        unused_variables,
3623        dead_code,
3624        missing_docs,
3625        clippy::wildcard_imports,
3626        clippy::let_unit_value,
3627    )]
3628    use tonic::codegen::*;
3629    use tonic::codegen::http::Uri;
3630    #[derive(Debug, Clone)]
3631    pub struct ServingServiceClient<T> {
3632        inner: tonic::client::Grpc<T>,
3633    }
3634    impl ServingServiceClient<tonic::transport::Channel> {
3635        /// Attempt to create a new client by connecting to a given endpoint.
3636        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3637        where
3638            D: TryInto<tonic::transport::Endpoint>,
3639            D::Error: Into<StdError>,
3640        {
3641            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3642            Ok(Self::new(conn))
3643        }
3644    }
3645    impl<T> ServingServiceClient<T>
3646    where
3647        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3648        T::Error: Into<StdError>,
3649        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3650        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3651    {
3652        pub fn new(inner: T) -> Self {
3653            let inner = tonic::client::Grpc::new(inner);
3654            Self { inner }
3655        }
3656        pub fn with_origin(inner: T, origin: Uri) -> Self {
3657            let inner = tonic::client::Grpc::with_origin(inner, origin);
3658            Self { inner }
3659        }
3660        pub fn with_interceptor<F>(
3661            inner: T,
3662            interceptor: F,
3663        ) -> ServingServiceClient<InterceptedService<T, F>>
3664        where
3665            F: tonic::service::Interceptor,
3666            T::ResponseBody: Default,
3667            T: tonic::codegen::Service<
3668                http::Request<tonic::body::BoxBody>,
3669                Response = http::Response<
3670                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3671                >,
3672            >,
3673            <T as tonic::codegen::Service<
3674                http::Request<tonic::body::BoxBody>,
3675            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3676        {
3677            ServingServiceClient::new(InterceptedService::new(inner, interceptor))
3678        }
3679        /// Compress requests with the given encoding.
3680        ///
3681        /// This requires the server to support it otherwise it might respond with an
3682        /// error.
3683        #[must_use]
3684        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3685            self.inner = self.inner.send_compressed(encoding);
3686            self
3687        }
3688        /// Enable decompressing responses.
3689        #[must_use]
3690        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3691            self.inner = self.inner.accept_compressed(encoding);
3692            self
3693        }
3694        /// Limits the maximum size of a decoded message.
3695        ///
3696        /// Default: `4MB`
3697        #[must_use]
3698        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3699            self.inner = self.inner.max_decoding_message_size(limit);
3700            self
3701        }
3702        /// Limits the maximum size of an encoded message.
3703        ///
3704        /// Default: `usize::MAX`
3705        #[must_use]
3706        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3707            self.inner = self.inner.max_encoding_message_size(limit);
3708            self
3709        }
3710        pub async fn get_serving_vnode_mappings(
3711            &mut self,
3712            request: impl tonic::IntoRequest<super::GetServingVnodeMappingsRequest>,
3713        ) -> std::result::Result<
3714            tonic::Response<super::GetServingVnodeMappingsResponse>,
3715            tonic::Status,
3716        > {
3717            self.inner
3718                .ready()
3719                .await
3720                .map_err(|e| {
3721                    tonic::Status::unknown(
3722                        format!("Service was not ready: {}", e.into()),
3723                    )
3724                })?;
3725            let codec = tonic::codec::ProstCodec::default();
3726            let path = http::uri::PathAndQuery::from_static(
3727                "/meta.ServingService/GetServingVnodeMappings",
3728            );
3729            let mut req = request.into_request();
3730            req.extensions_mut()
3731                .insert(
3732                    GrpcMethod::new("meta.ServingService", "GetServingVnodeMappings"),
3733                );
3734            self.inner.unary(req, path, codec).await
3735        }
3736    }
3737}
3738/// Generated client implementations.
3739pub mod event_log_service_client {
3740    #![allow(
3741        unused_variables,
3742        dead_code,
3743        missing_docs,
3744        clippy::wildcard_imports,
3745        clippy::let_unit_value,
3746    )]
3747    use tonic::codegen::*;
3748    use tonic::codegen::http::Uri;
3749    #[derive(Debug, Clone)]
3750    pub struct EventLogServiceClient<T> {
3751        inner: tonic::client::Grpc<T>,
3752    }
3753    impl EventLogServiceClient<tonic::transport::Channel> {
3754        /// Attempt to create a new client by connecting to a given endpoint.
3755        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3756        where
3757            D: TryInto<tonic::transport::Endpoint>,
3758            D::Error: Into<StdError>,
3759        {
3760            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3761            Ok(Self::new(conn))
3762        }
3763    }
3764    impl<T> EventLogServiceClient<T>
3765    where
3766        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3767        T::Error: Into<StdError>,
3768        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3769        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3770    {
3771        pub fn new(inner: T) -> Self {
3772            let inner = tonic::client::Grpc::new(inner);
3773            Self { inner }
3774        }
3775        pub fn with_origin(inner: T, origin: Uri) -> Self {
3776            let inner = tonic::client::Grpc::with_origin(inner, origin);
3777            Self { inner }
3778        }
3779        pub fn with_interceptor<F>(
3780            inner: T,
3781            interceptor: F,
3782        ) -> EventLogServiceClient<InterceptedService<T, F>>
3783        where
3784            F: tonic::service::Interceptor,
3785            T::ResponseBody: Default,
3786            T: tonic::codegen::Service<
3787                http::Request<tonic::body::BoxBody>,
3788                Response = http::Response<
3789                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3790                >,
3791            >,
3792            <T as tonic::codegen::Service<
3793                http::Request<tonic::body::BoxBody>,
3794            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3795        {
3796            EventLogServiceClient::new(InterceptedService::new(inner, interceptor))
3797        }
3798        /// Compress requests with the given encoding.
3799        ///
3800        /// This requires the server to support it otherwise it might respond with an
3801        /// error.
3802        #[must_use]
3803        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3804            self.inner = self.inner.send_compressed(encoding);
3805            self
3806        }
3807        /// Enable decompressing responses.
3808        #[must_use]
3809        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3810            self.inner = self.inner.accept_compressed(encoding);
3811            self
3812        }
3813        /// Limits the maximum size of a decoded message.
3814        ///
3815        /// Default: `4MB`
3816        #[must_use]
3817        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3818            self.inner = self.inner.max_decoding_message_size(limit);
3819            self
3820        }
3821        /// Limits the maximum size of an encoded message.
3822        ///
3823        /// Default: `usize::MAX`
3824        #[must_use]
3825        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3826            self.inner = self.inner.max_encoding_message_size(limit);
3827            self
3828        }
3829        pub async fn list_event_log(
3830            &mut self,
3831            request: impl tonic::IntoRequest<super::ListEventLogRequest>,
3832        ) -> std::result::Result<
3833            tonic::Response<super::ListEventLogResponse>,
3834            tonic::Status,
3835        > {
3836            self.inner
3837                .ready()
3838                .await
3839                .map_err(|e| {
3840                    tonic::Status::unknown(
3841                        format!("Service was not ready: {}", e.into()),
3842                    )
3843                })?;
3844            let codec = tonic::codec::ProstCodec::default();
3845            let path = http::uri::PathAndQuery::from_static(
3846                "/meta.EventLogService/ListEventLog",
3847            );
3848            let mut req = request.into_request();
3849            req.extensions_mut()
3850                .insert(GrpcMethod::new("meta.EventLogService", "ListEventLog"));
3851            self.inner.unary(req, path, codec).await
3852        }
3853        pub async fn add_event_log(
3854            &mut self,
3855            request: impl tonic::IntoRequest<super::AddEventLogRequest>,
3856        ) -> std::result::Result<
3857            tonic::Response<super::AddEventLogResponse>,
3858            tonic::Status,
3859        > {
3860            self.inner
3861                .ready()
3862                .await
3863                .map_err(|e| {
3864                    tonic::Status::unknown(
3865                        format!("Service was not ready: {}", e.into()),
3866                    )
3867                })?;
3868            let codec = tonic::codec::ProstCodec::default();
3869            let path = http::uri::PathAndQuery::from_static(
3870                "/meta.EventLogService/AddEventLog",
3871            );
3872            let mut req = request.into_request();
3873            req.extensions_mut()
3874                .insert(GrpcMethod::new("meta.EventLogService", "AddEventLog"));
3875            self.inner.unary(req, path, codec).await
3876        }
3877    }
3878}
3879/// Generated client implementations.
3880pub mod cluster_limit_service_client {
3881    #![allow(
3882        unused_variables,
3883        dead_code,
3884        missing_docs,
3885        clippy::wildcard_imports,
3886        clippy::let_unit_value,
3887    )]
3888    use tonic::codegen::*;
3889    use tonic::codegen::http::Uri;
3890    #[derive(Debug, Clone)]
3891    pub struct ClusterLimitServiceClient<T> {
3892        inner: tonic::client::Grpc<T>,
3893    }
3894    impl ClusterLimitServiceClient<tonic::transport::Channel> {
3895        /// Attempt to create a new client by connecting to a given endpoint.
3896        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3897        where
3898            D: TryInto<tonic::transport::Endpoint>,
3899            D::Error: Into<StdError>,
3900        {
3901            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3902            Ok(Self::new(conn))
3903        }
3904    }
3905    impl<T> ClusterLimitServiceClient<T>
3906    where
3907        T: tonic::client::GrpcService<tonic::body::BoxBody>,
3908        T::Error: Into<StdError>,
3909        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
3910        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
3911    {
3912        pub fn new(inner: T) -> Self {
3913            let inner = tonic::client::Grpc::new(inner);
3914            Self { inner }
3915        }
3916        pub fn with_origin(inner: T, origin: Uri) -> Self {
3917            let inner = tonic::client::Grpc::with_origin(inner, origin);
3918            Self { inner }
3919        }
3920        pub fn with_interceptor<F>(
3921            inner: T,
3922            interceptor: F,
3923        ) -> ClusterLimitServiceClient<InterceptedService<T, F>>
3924        where
3925            F: tonic::service::Interceptor,
3926            T::ResponseBody: Default,
3927            T: tonic::codegen::Service<
3928                http::Request<tonic::body::BoxBody>,
3929                Response = http::Response<
3930                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3931                >,
3932            >,
3933            <T as tonic::codegen::Service<
3934                http::Request<tonic::body::BoxBody>,
3935            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
3936        {
3937            ClusterLimitServiceClient::new(InterceptedService::new(inner, interceptor))
3938        }
3939        /// Compress requests with the given encoding.
3940        ///
3941        /// This requires the server to support it otherwise it might respond with an
3942        /// error.
3943        #[must_use]
3944        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3945            self.inner = self.inner.send_compressed(encoding);
3946            self
3947        }
3948        /// Enable decompressing responses.
3949        #[must_use]
3950        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3951            self.inner = self.inner.accept_compressed(encoding);
3952            self
3953        }
3954        /// Limits the maximum size of a decoded message.
3955        ///
3956        /// Default: `4MB`
3957        #[must_use]
3958        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3959            self.inner = self.inner.max_decoding_message_size(limit);
3960            self
3961        }
3962        /// Limits the maximum size of an encoded message.
3963        ///
3964        /// Default: `usize::MAX`
3965        #[must_use]
3966        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3967            self.inner = self.inner.max_encoding_message_size(limit);
3968            self
3969        }
3970        pub async fn get_cluster_limits(
3971            &mut self,
3972            request: impl tonic::IntoRequest<super::GetClusterLimitsRequest>,
3973        ) -> std::result::Result<
3974            tonic::Response<super::GetClusterLimitsResponse>,
3975            tonic::Status,
3976        > {
3977            self.inner
3978                .ready()
3979                .await
3980                .map_err(|e| {
3981                    tonic::Status::unknown(
3982                        format!("Service was not ready: {}", e.into()),
3983                    )
3984                })?;
3985            let codec = tonic::codec::ProstCodec::default();
3986            let path = http::uri::PathAndQuery::from_static(
3987                "/meta.ClusterLimitService/GetClusterLimits",
3988            );
3989            let mut req = request.into_request();
3990            req.extensions_mut()
3991                .insert(GrpcMethod::new("meta.ClusterLimitService", "GetClusterLimits"));
3992            self.inner.unary(req, path, codec).await
3993        }
3994    }
3995}
3996/// Generated client implementations.
3997pub mod hosted_iceberg_catalog_service_client {
3998    #![allow(
3999        unused_variables,
4000        dead_code,
4001        missing_docs,
4002        clippy::wildcard_imports,
4003        clippy::let_unit_value,
4004    )]
4005    use tonic::codegen::*;
4006    use tonic::codegen::http::Uri;
4007    #[derive(Debug, Clone)]
4008    pub struct HostedIcebergCatalogServiceClient<T> {
4009        inner: tonic::client::Grpc<T>,
4010    }
4011    impl HostedIcebergCatalogServiceClient<tonic::transport::Channel> {
4012        /// Attempt to create a new client by connecting to a given endpoint.
4013        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
4014        where
4015            D: TryInto<tonic::transport::Endpoint>,
4016            D::Error: Into<StdError>,
4017        {
4018            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
4019            Ok(Self::new(conn))
4020        }
4021    }
4022    impl<T> HostedIcebergCatalogServiceClient<T>
4023    where
4024        T: tonic::client::GrpcService<tonic::body::BoxBody>,
4025        T::Error: Into<StdError>,
4026        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
4027        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
4028    {
4029        pub fn new(inner: T) -> Self {
4030            let inner = tonic::client::Grpc::new(inner);
4031            Self { inner }
4032        }
4033        pub fn with_origin(inner: T, origin: Uri) -> Self {
4034            let inner = tonic::client::Grpc::with_origin(inner, origin);
4035            Self { inner }
4036        }
4037        pub fn with_interceptor<F>(
4038            inner: T,
4039            interceptor: F,
4040        ) -> HostedIcebergCatalogServiceClient<InterceptedService<T, F>>
4041        where
4042            F: tonic::service::Interceptor,
4043            T::ResponseBody: Default,
4044            T: tonic::codegen::Service<
4045                http::Request<tonic::body::BoxBody>,
4046                Response = http::Response<
4047                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
4048                >,
4049            >,
4050            <T as tonic::codegen::Service<
4051                http::Request<tonic::body::BoxBody>,
4052            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
4053        {
4054            HostedIcebergCatalogServiceClient::new(
4055                InterceptedService::new(inner, interceptor),
4056            )
4057        }
4058        /// Compress requests with the given encoding.
4059        ///
4060        /// This requires the server to support it otherwise it might respond with an
4061        /// error.
4062        #[must_use]
4063        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
4064            self.inner = self.inner.send_compressed(encoding);
4065            self
4066        }
4067        /// Enable decompressing responses.
4068        #[must_use]
4069        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
4070            self.inner = self.inner.accept_compressed(encoding);
4071            self
4072        }
4073        /// Limits the maximum size of a decoded message.
4074        ///
4075        /// Default: `4MB`
4076        #[must_use]
4077        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
4078            self.inner = self.inner.max_decoding_message_size(limit);
4079            self
4080        }
4081        /// Limits the maximum size of an encoded message.
4082        ///
4083        /// Default: `usize::MAX`
4084        #[must_use]
4085        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
4086            self.inner = self.inner.max_encoding_message_size(limit);
4087            self
4088        }
4089        pub async fn list_iceberg_tables(
4090            &mut self,
4091            request: impl tonic::IntoRequest<super::ListIcebergTablesRequest>,
4092        ) -> std::result::Result<
4093            tonic::Response<super::ListIcebergTablesResponse>,
4094            tonic::Status,
4095        > {
4096            self.inner
4097                .ready()
4098                .await
4099                .map_err(|e| {
4100                    tonic::Status::unknown(
4101                        format!("Service was not ready: {}", e.into()),
4102                    )
4103                })?;
4104            let codec = tonic::codec::ProstCodec::default();
4105            let path = http::uri::PathAndQuery::from_static(
4106                "/meta.HostedIcebergCatalogService/ListIcebergTables",
4107            );
4108            let mut req = request.into_request();
4109            req.extensions_mut()
4110                .insert(
4111                    GrpcMethod::new(
4112                        "meta.HostedIcebergCatalogService",
4113                        "ListIcebergTables",
4114                    ),
4115                );
4116            self.inner.unary(req, path, codec).await
4117        }
4118    }
4119}
4120/// Generated server implementations.
4121pub mod telemetry_info_service_server {
4122    #![allow(
4123        unused_variables,
4124        dead_code,
4125        missing_docs,
4126        clippy::wildcard_imports,
4127        clippy::let_unit_value,
4128    )]
4129    use tonic::codegen::*;
4130    /// Generated trait containing gRPC methods that should be implemented for use with TelemetryInfoServiceServer.
4131    #[async_trait]
4132    pub trait TelemetryInfoService: std::marker::Send + std::marker::Sync + 'static {
4133        /// Request telemetry info from meta node
4134        async fn get_telemetry_info(
4135            &self,
4136            request: tonic::Request<super::GetTelemetryInfoRequest>,
4137        ) -> std::result::Result<
4138            tonic::Response<super::TelemetryInfoResponse>,
4139            tonic::Status,
4140        >;
4141    }
4142    #[derive(Debug)]
4143    pub struct TelemetryInfoServiceServer<T> {
4144        inner: Arc<T>,
4145        accept_compression_encodings: EnabledCompressionEncodings,
4146        send_compression_encodings: EnabledCompressionEncodings,
4147        max_decoding_message_size: Option<usize>,
4148        max_encoding_message_size: Option<usize>,
4149    }
4150    impl<T> TelemetryInfoServiceServer<T> {
4151        pub fn new(inner: T) -> Self {
4152            Self::from_arc(Arc::new(inner))
4153        }
4154        pub fn from_arc(inner: Arc<T>) -> Self {
4155            Self {
4156                inner,
4157                accept_compression_encodings: Default::default(),
4158                send_compression_encodings: Default::default(),
4159                max_decoding_message_size: None,
4160                max_encoding_message_size: None,
4161            }
4162        }
4163        pub fn with_interceptor<F>(
4164            inner: T,
4165            interceptor: F,
4166        ) -> InterceptedService<Self, F>
4167        where
4168            F: tonic::service::Interceptor,
4169        {
4170            InterceptedService::new(Self::new(inner), interceptor)
4171        }
4172        /// Enable decompressing requests with the given encoding.
4173        #[must_use]
4174        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
4175            self.accept_compression_encodings.enable(encoding);
4176            self
4177        }
4178        /// Compress responses with the given encoding, if the client supports it.
4179        #[must_use]
4180        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
4181            self.send_compression_encodings.enable(encoding);
4182            self
4183        }
4184        /// Limits the maximum size of a decoded message.
4185        ///
4186        /// Default: `4MB`
4187        #[must_use]
4188        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
4189            self.max_decoding_message_size = Some(limit);
4190            self
4191        }
4192        /// Limits the maximum size of an encoded message.
4193        ///
4194        /// Default: `usize::MAX`
4195        #[must_use]
4196        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
4197            self.max_encoding_message_size = Some(limit);
4198            self
4199        }
4200    }
4201    impl<T, B> tonic::codegen::Service<http::Request<B>>
4202    for TelemetryInfoServiceServer<T>
4203    where
4204        T: TelemetryInfoService,
4205        B: Body + std::marker::Send + 'static,
4206        B::Error: Into<StdError> + std::marker::Send + 'static,
4207    {
4208        type Response = http::Response<tonic::body::BoxBody>;
4209        type Error = std::convert::Infallible;
4210        type Future = BoxFuture<Self::Response, Self::Error>;
4211        fn poll_ready(
4212            &mut self,
4213            _cx: &mut Context<'_>,
4214        ) -> Poll<std::result::Result<(), Self::Error>> {
4215            Poll::Ready(Ok(()))
4216        }
4217        fn call(&mut self, req: http::Request<B>) -> Self::Future {
4218            match req.uri().path() {
4219                "/meta.TelemetryInfoService/GetTelemetryInfo" => {
4220                    #[allow(non_camel_case_types)]
4221                    struct GetTelemetryInfoSvc<T: TelemetryInfoService>(pub Arc<T>);
4222                    impl<
4223                        T: TelemetryInfoService,
4224                    > tonic::server::UnaryService<super::GetTelemetryInfoRequest>
4225                    for GetTelemetryInfoSvc<T> {
4226                        type Response = super::TelemetryInfoResponse;
4227                        type Future = BoxFuture<
4228                            tonic::Response<Self::Response>,
4229                            tonic::Status,
4230                        >;
4231                        fn call(
4232                            &mut self,
4233                            request: tonic::Request<super::GetTelemetryInfoRequest>,
4234                        ) -> Self::Future {
4235                            let inner = Arc::clone(&self.0);
4236                            let fut = async move {
4237                                <T as TelemetryInfoService>::get_telemetry_info(
4238                                        &inner,
4239                                        request,
4240                                    )
4241                                    .await
4242                            };
4243                            Box::pin(fut)
4244                        }
4245                    }
4246                    let accept_compression_encodings = self.accept_compression_encodings;
4247                    let send_compression_encodings = self.send_compression_encodings;
4248                    let max_decoding_message_size = self.max_decoding_message_size;
4249                    let max_encoding_message_size = self.max_encoding_message_size;
4250                    let inner = self.inner.clone();
4251                    let fut = async move {
4252                        let method = GetTelemetryInfoSvc(inner);
4253                        let codec = tonic::codec::ProstCodec::default();
4254                        let mut grpc = tonic::server::Grpc::new(codec)
4255                            .apply_compression_config(
4256                                accept_compression_encodings,
4257                                send_compression_encodings,
4258                            )
4259                            .apply_max_message_size_config(
4260                                max_decoding_message_size,
4261                                max_encoding_message_size,
4262                            );
4263                        let res = grpc.unary(method, req).await;
4264                        Ok(res)
4265                    };
4266                    Box::pin(fut)
4267                }
4268                _ => {
4269                    Box::pin(async move {
4270                        let mut response = http::Response::new(empty_body());
4271                        let headers = response.headers_mut();
4272                        headers
4273                            .insert(
4274                                tonic::Status::GRPC_STATUS,
4275                                (tonic::Code::Unimplemented as i32).into(),
4276                            );
4277                        headers
4278                            .insert(
4279                                http::header::CONTENT_TYPE,
4280                                tonic::metadata::GRPC_CONTENT_TYPE,
4281                            );
4282                        Ok(response)
4283                    })
4284                }
4285            }
4286        }
4287    }
4288    impl<T> Clone for TelemetryInfoServiceServer<T> {
4289        fn clone(&self) -> Self {
4290            let inner = self.inner.clone();
4291            Self {
4292                inner,
4293                accept_compression_encodings: self.accept_compression_encodings,
4294                send_compression_encodings: self.send_compression_encodings,
4295                max_decoding_message_size: self.max_decoding_message_size,
4296                max_encoding_message_size: self.max_encoding_message_size,
4297            }
4298        }
4299    }
4300    /// Generated gRPC service name
4301    pub const SERVICE_NAME: &str = "meta.TelemetryInfoService";
4302    impl<T> tonic::server::NamedService for TelemetryInfoServiceServer<T> {
4303        const NAME: &'static str = SERVICE_NAME;
4304    }
4305}
4306/// Generated server implementations.
4307pub mod heartbeat_service_server {
4308    #![allow(
4309        unused_variables,
4310        dead_code,
4311        missing_docs,
4312        clippy::wildcard_imports,
4313        clippy::let_unit_value,
4314    )]
4315    use tonic::codegen::*;
4316    /// Generated trait containing gRPC methods that should be implemented for use with HeartbeatServiceServer.
4317    #[async_trait]
4318    pub trait HeartbeatService: std::marker::Send + std::marker::Sync + 'static {
4319        async fn heartbeat(
4320            &self,
4321            request: tonic::Request<super::HeartbeatRequest>,
4322        ) -> std::result::Result<
4323            tonic::Response<super::HeartbeatResponse>,
4324            tonic::Status,
4325        >;
4326    }
4327    #[derive(Debug)]
4328    pub struct HeartbeatServiceServer<T> {
4329        inner: Arc<T>,
4330        accept_compression_encodings: EnabledCompressionEncodings,
4331        send_compression_encodings: EnabledCompressionEncodings,
4332        max_decoding_message_size: Option<usize>,
4333        max_encoding_message_size: Option<usize>,
4334    }
4335    impl<T> HeartbeatServiceServer<T> {
4336        pub fn new(inner: T) -> Self {
4337            Self::from_arc(Arc::new(inner))
4338        }
4339        pub fn from_arc(inner: Arc<T>) -> Self {
4340            Self {
4341                inner,
4342                accept_compression_encodings: Default::default(),
4343                send_compression_encodings: Default::default(),
4344                max_decoding_message_size: None,
4345                max_encoding_message_size: None,
4346            }
4347        }
4348        pub fn with_interceptor<F>(
4349            inner: T,
4350            interceptor: F,
4351        ) -> InterceptedService<Self, F>
4352        where
4353            F: tonic::service::Interceptor,
4354        {
4355            InterceptedService::new(Self::new(inner), interceptor)
4356        }
4357        /// Enable decompressing requests with the given encoding.
4358        #[must_use]
4359        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
4360            self.accept_compression_encodings.enable(encoding);
4361            self
4362        }
4363        /// Compress responses with the given encoding, if the client supports it.
4364        #[must_use]
4365        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
4366            self.send_compression_encodings.enable(encoding);
4367            self
4368        }
4369        /// Limits the maximum size of a decoded message.
4370        ///
4371        /// Default: `4MB`
4372        #[must_use]
4373        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
4374            self.max_decoding_message_size = Some(limit);
4375            self
4376        }
4377        /// Limits the maximum size of an encoded message.
4378        ///
4379        /// Default: `usize::MAX`
4380        #[must_use]
4381        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
4382            self.max_encoding_message_size = Some(limit);
4383            self
4384        }
4385    }
4386    impl<T, B> tonic::codegen::Service<http::Request<B>> for HeartbeatServiceServer<T>
4387    where
4388        T: HeartbeatService,
4389        B: Body + std::marker::Send + 'static,
4390        B::Error: Into<StdError> + std::marker::Send + 'static,
4391    {
4392        type Response = http::Response<tonic::body::BoxBody>;
4393        type Error = std::convert::Infallible;
4394        type Future = BoxFuture<Self::Response, Self::Error>;
4395        fn poll_ready(
4396            &mut self,
4397            _cx: &mut Context<'_>,
4398        ) -> Poll<std::result::Result<(), Self::Error>> {
4399            Poll::Ready(Ok(()))
4400        }
4401        fn call(&mut self, req: http::Request<B>) -> Self::Future {
4402            match req.uri().path() {
4403                "/meta.HeartbeatService/Heartbeat" => {
4404                    #[allow(non_camel_case_types)]
4405                    struct HeartbeatSvc<T: HeartbeatService>(pub Arc<T>);
4406                    impl<
4407                        T: HeartbeatService,
4408                    > tonic::server::UnaryService<super::HeartbeatRequest>
4409                    for HeartbeatSvc<T> {
4410                        type Response = super::HeartbeatResponse;
4411                        type Future = BoxFuture<
4412                            tonic::Response<Self::Response>,
4413                            tonic::Status,
4414                        >;
4415                        fn call(
4416                            &mut self,
4417                            request: tonic::Request<super::HeartbeatRequest>,
4418                        ) -> Self::Future {
4419                            let inner = Arc::clone(&self.0);
4420                            let fut = async move {
4421                                <T as HeartbeatService>::heartbeat(&inner, request).await
4422                            };
4423                            Box::pin(fut)
4424                        }
4425                    }
4426                    let accept_compression_encodings = self.accept_compression_encodings;
4427                    let send_compression_encodings = self.send_compression_encodings;
4428                    let max_decoding_message_size = self.max_decoding_message_size;
4429                    let max_encoding_message_size = self.max_encoding_message_size;
4430                    let inner = self.inner.clone();
4431                    let fut = async move {
4432                        let method = HeartbeatSvc(inner);
4433                        let codec = tonic::codec::ProstCodec::default();
4434                        let mut grpc = tonic::server::Grpc::new(codec)
4435                            .apply_compression_config(
4436                                accept_compression_encodings,
4437                                send_compression_encodings,
4438                            )
4439                            .apply_max_message_size_config(
4440                                max_decoding_message_size,
4441                                max_encoding_message_size,
4442                            );
4443                        let res = grpc.unary(method, req).await;
4444                        Ok(res)
4445                    };
4446                    Box::pin(fut)
4447                }
4448                _ => {
4449                    Box::pin(async move {
4450                        let mut response = http::Response::new(empty_body());
4451                        let headers = response.headers_mut();
4452                        headers
4453                            .insert(
4454                                tonic::Status::GRPC_STATUS,
4455                                (tonic::Code::Unimplemented as i32).into(),
4456                            );
4457                        headers
4458                            .insert(
4459                                http::header::CONTENT_TYPE,
4460                                tonic::metadata::GRPC_CONTENT_TYPE,
4461                            );
4462                        Ok(response)
4463                    })
4464                }
4465            }
4466        }
4467    }
4468    impl<T> Clone for HeartbeatServiceServer<T> {
4469        fn clone(&self) -> Self {
4470            let inner = self.inner.clone();
4471            Self {
4472                inner,
4473                accept_compression_encodings: self.accept_compression_encodings,
4474                send_compression_encodings: self.send_compression_encodings,
4475                max_decoding_message_size: self.max_decoding_message_size,
4476                max_encoding_message_size: self.max_encoding_message_size,
4477            }
4478        }
4479    }
4480    /// Generated gRPC service name
4481    pub const SERVICE_NAME: &str = "meta.HeartbeatService";
4482    impl<T> tonic::server::NamedService for HeartbeatServiceServer<T> {
4483        const NAME: &'static str = SERVICE_NAME;
4484    }
4485}
4486/// Generated server implementations.
4487pub mod stream_manager_service_server {
4488    #![allow(
4489        unused_variables,
4490        dead_code,
4491        missing_docs,
4492        clippy::wildcard_imports,
4493        clippy::let_unit_value,
4494    )]
4495    use tonic::codegen::*;
4496    /// Generated trait containing gRPC methods that should be implemented for use with StreamManagerServiceServer.
4497    #[async_trait]
4498    pub trait StreamManagerService: std::marker::Send + std::marker::Sync + 'static {
4499        async fn flush(
4500            &self,
4501            request: tonic::Request<super::FlushRequest>,
4502        ) -> std::result::Result<tonic::Response<super::FlushResponse>, tonic::Status>;
4503        async fn pause(
4504            &self,
4505            request: tonic::Request<super::PauseRequest>,
4506        ) -> std::result::Result<tonic::Response<super::PauseResponse>, tonic::Status>;
4507        async fn resume(
4508            &self,
4509            request: tonic::Request<super::ResumeRequest>,
4510        ) -> std::result::Result<tonic::Response<super::ResumeResponse>, tonic::Status>;
4511        async fn refresh(
4512            &self,
4513            request: tonic::Request<super::RefreshRequest>,
4514        ) -> std::result::Result<tonic::Response<super::RefreshResponse>, tonic::Status>;
4515        async fn cancel_creating_jobs(
4516            &self,
4517            request: tonic::Request<super::CancelCreatingJobsRequest>,
4518        ) -> std::result::Result<
4519            tonic::Response<super::CancelCreatingJobsResponse>,
4520            tonic::Status,
4521        >;
4522        async fn list_table_fragments(
4523            &self,
4524            request: tonic::Request<super::ListTableFragmentsRequest>,
4525        ) -> std::result::Result<
4526            tonic::Response<super::ListTableFragmentsResponse>,
4527            tonic::Status,
4528        >;
4529        async fn list_streaming_job_states(
4530            &self,
4531            request: tonic::Request<super::ListStreamingJobStatesRequest>,
4532        ) -> std::result::Result<
4533            tonic::Response<super::ListStreamingJobStatesResponse>,
4534            tonic::Status,
4535        >;
4536        async fn list_fragment_distribution(
4537            &self,
4538            request: tonic::Request<super::ListFragmentDistributionRequest>,
4539        ) -> std::result::Result<
4540            tonic::Response<super::ListFragmentDistributionResponse>,
4541            tonic::Status,
4542        >;
4543        async fn list_creating_fragment_distribution(
4544            &self,
4545            request: tonic::Request<super::ListCreatingFragmentDistributionRequest>,
4546        ) -> std::result::Result<
4547            tonic::Response<super::ListCreatingFragmentDistributionResponse>,
4548            tonic::Status,
4549        >;
4550        async fn list_actor_states(
4551            &self,
4552            request: tonic::Request<super::ListActorStatesRequest>,
4553        ) -> std::result::Result<
4554            tonic::Response<super::ListActorStatesResponse>,
4555            tonic::Status,
4556        >;
4557        async fn list_actor_splits(
4558            &self,
4559            request: tonic::Request<super::ListActorSplitsRequest>,
4560        ) -> std::result::Result<
4561            tonic::Response<super::ListActorSplitsResponse>,
4562            tonic::Status,
4563        >;
4564        async fn list_object_dependencies(
4565            &self,
4566            request: tonic::Request<super::ListObjectDependenciesRequest>,
4567        ) -> std::result::Result<
4568            tonic::Response<super::ListObjectDependenciesResponse>,
4569            tonic::Status,
4570        >;
4571        async fn apply_throttle(
4572            &self,
4573            request: tonic::Request<super::ApplyThrottleRequest>,
4574        ) -> std::result::Result<
4575            tonic::Response<super::ApplyThrottleResponse>,
4576            tonic::Status,
4577        >;
4578        async fn recover(
4579            &self,
4580            request: tonic::Request<super::RecoverRequest>,
4581        ) -> std::result::Result<tonic::Response<super::RecoverResponse>, tonic::Status>;
4582        async fn list_rate_limits(
4583            &self,
4584            request: tonic::Request<super::ListRateLimitsRequest>,
4585        ) -> std::result::Result<
4586            tonic::Response<super::ListRateLimitsResponse>,
4587            tonic::Status,
4588        >;
4589        async fn alter_connector_props(
4590            &self,
4591            request: tonic::Request<super::AlterConnectorPropsRequest>,
4592        ) -> std::result::Result<
4593            tonic::Response<super::AlterConnectorPropsResponse>,
4594            tonic::Status,
4595        >;
4596        async fn get_fragment_by_id(
4597            &self,
4598            request: tonic::Request<super::GetFragmentByIdRequest>,
4599        ) -> std::result::Result<
4600            tonic::Response<super::GetFragmentByIdResponse>,
4601            tonic::Status,
4602        >;
4603        async fn set_sync_log_store_aligned(
4604            &self,
4605            request: tonic::Request<super::SetSyncLogStoreAlignedRequest>,
4606        ) -> std::result::Result<
4607            tonic::Response<super::SetSyncLogStoreAlignedResponse>,
4608            tonic::Status,
4609        >;
4610    }
4611    #[derive(Debug)]
4612    pub struct StreamManagerServiceServer<T> {
4613        inner: Arc<T>,
4614        accept_compression_encodings: EnabledCompressionEncodings,
4615        send_compression_encodings: EnabledCompressionEncodings,
4616        max_decoding_message_size: Option<usize>,
4617        max_encoding_message_size: Option<usize>,
4618    }
4619    impl<T> StreamManagerServiceServer<T> {
4620        pub fn new(inner: T) -> Self {
4621            Self::from_arc(Arc::new(inner))
4622        }
4623        pub fn from_arc(inner: Arc<T>) -> Self {
4624            Self {
4625                inner,
4626                accept_compression_encodings: Default::default(),
4627                send_compression_encodings: Default::default(),
4628                max_decoding_message_size: None,
4629                max_encoding_message_size: None,
4630            }
4631        }
4632        pub fn with_interceptor<F>(
4633            inner: T,
4634            interceptor: F,
4635        ) -> InterceptedService<Self, F>
4636        where
4637            F: tonic::service::Interceptor,
4638        {
4639            InterceptedService::new(Self::new(inner), interceptor)
4640        }
4641        /// Enable decompressing requests with the given encoding.
4642        #[must_use]
4643        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
4644            self.accept_compression_encodings.enable(encoding);
4645            self
4646        }
4647        /// Compress responses with the given encoding, if the client supports it.
4648        #[must_use]
4649        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
4650            self.send_compression_encodings.enable(encoding);
4651            self
4652        }
4653        /// Limits the maximum size of a decoded message.
4654        ///
4655        /// Default: `4MB`
4656        #[must_use]
4657        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
4658            self.max_decoding_message_size = Some(limit);
4659            self
4660        }
4661        /// Limits the maximum size of an encoded message.
4662        ///
4663        /// Default: `usize::MAX`
4664        #[must_use]
4665        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
4666            self.max_encoding_message_size = Some(limit);
4667            self
4668        }
4669    }
4670    impl<T, B> tonic::codegen::Service<http::Request<B>>
4671    for StreamManagerServiceServer<T>
4672    where
4673        T: StreamManagerService,
4674        B: Body + std::marker::Send + 'static,
4675        B::Error: Into<StdError> + std::marker::Send + 'static,
4676    {
4677        type Response = http::Response<tonic::body::BoxBody>;
4678        type Error = std::convert::Infallible;
4679        type Future = BoxFuture<Self::Response, Self::Error>;
4680        fn poll_ready(
4681            &mut self,
4682            _cx: &mut Context<'_>,
4683        ) -> Poll<std::result::Result<(), Self::Error>> {
4684            Poll::Ready(Ok(()))
4685        }
4686        fn call(&mut self, req: http::Request<B>) -> Self::Future {
4687            match req.uri().path() {
4688                "/meta.StreamManagerService/Flush" => {
4689                    #[allow(non_camel_case_types)]
4690                    struct FlushSvc<T: StreamManagerService>(pub Arc<T>);
4691                    impl<
4692                        T: StreamManagerService,
4693                    > tonic::server::UnaryService<super::FlushRequest> for FlushSvc<T> {
4694                        type Response = super::FlushResponse;
4695                        type Future = BoxFuture<
4696                            tonic::Response<Self::Response>,
4697                            tonic::Status,
4698                        >;
4699                        fn call(
4700                            &mut self,
4701                            request: tonic::Request<super::FlushRequest>,
4702                        ) -> Self::Future {
4703                            let inner = Arc::clone(&self.0);
4704                            let fut = async move {
4705                                <T as StreamManagerService>::flush(&inner, request).await
4706                            };
4707                            Box::pin(fut)
4708                        }
4709                    }
4710                    let accept_compression_encodings = self.accept_compression_encodings;
4711                    let send_compression_encodings = self.send_compression_encodings;
4712                    let max_decoding_message_size = self.max_decoding_message_size;
4713                    let max_encoding_message_size = self.max_encoding_message_size;
4714                    let inner = self.inner.clone();
4715                    let fut = async move {
4716                        let method = FlushSvc(inner);
4717                        let codec = tonic::codec::ProstCodec::default();
4718                        let mut grpc = tonic::server::Grpc::new(codec)
4719                            .apply_compression_config(
4720                                accept_compression_encodings,
4721                                send_compression_encodings,
4722                            )
4723                            .apply_max_message_size_config(
4724                                max_decoding_message_size,
4725                                max_encoding_message_size,
4726                            );
4727                        let res = grpc.unary(method, req).await;
4728                        Ok(res)
4729                    };
4730                    Box::pin(fut)
4731                }
4732                "/meta.StreamManagerService/Pause" => {
4733                    #[allow(non_camel_case_types)]
4734                    struct PauseSvc<T: StreamManagerService>(pub Arc<T>);
4735                    impl<
4736                        T: StreamManagerService,
4737                    > tonic::server::UnaryService<super::PauseRequest> for PauseSvc<T> {
4738                        type Response = super::PauseResponse;
4739                        type Future = BoxFuture<
4740                            tonic::Response<Self::Response>,
4741                            tonic::Status,
4742                        >;
4743                        fn call(
4744                            &mut self,
4745                            request: tonic::Request<super::PauseRequest>,
4746                        ) -> Self::Future {
4747                            let inner = Arc::clone(&self.0);
4748                            let fut = async move {
4749                                <T as StreamManagerService>::pause(&inner, request).await
4750                            };
4751                            Box::pin(fut)
4752                        }
4753                    }
4754                    let accept_compression_encodings = self.accept_compression_encodings;
4755                    let send_compression_encodings = self.send_compression_encodings;
4756                    let max_decoding_message_size = self.max_decoding_message_size;
4757                    let max_encoding_message_size = self.max_encoding_message_size;
4758                    let inner = self.inner.clone();
4759                    let fut = async move {
4760                        let method = PauseSvc(inner);
4761                        let codec = tonic::codec::ProstCodec::default();
4762                        let mut grpc = tonic::server::Grpc::new(codec)
4763                            .apply_compression_config(
4764                                accept_compression_encodings,
4765                                send_compression_encodings,
4766                            )
4767                            .apply_max_message_size_config(
4768                                max_decoding_message_size,
4769                                max_encoding_message_size,
4770                            );
4771                        let res = grpc.unary(method, req).await;
4772                        Ok(res)
4773                    };
4774                    Box::pin(fut)
4775                }
4776                "/meta.StreamManagerService/Resume" => {
4777                    #[allow(non_camel_case_types)]
4778                    struct ResumeSvc<T: StreamManagerService>(pub Arc<T>);
4779                    impl<
4780                        T: StreamManagerService,
4781                    > tonic::server::UnaryService<super::ResumeRequest>
4782                    for ResumeSvc<T> {
4783                        type Response = super::ResumeResponse;
4784                        type Future = BoxFuture<
4785                            tonic::Response<Self::Response>,
4786                            tonic::Status,
4787                        >;
4788                        fn call(
4789                            &mut self,
4790                            request: tonic::Request<super::ResumeRequest>,
4791                        ) -> Self::Future {
4792                            let inner = Arc::clone(&self.0);
4793                            let fut = async move {
4794                                <T as StreamManagerService>::resume(&inner, request).await
4795                            };
4796                            Box::pin(fut)
4797                        }
4798                    }
4799                    let accept_compression_encodings = self.accept_compression_encodings;
4800                    let send_compression_encodings = self.send_compression_encodings;
4801                    let max_decoding_message_size = self.max_decoding_message_size;
4802                    let max_encoding_message_size = self.max_encoding_message_size;
4803                    let inner = self.inner.clone();
4804                    let fut = async move {
4805                        let method = ResumeSvc(inner);
4806                        let codec = tonic::codec::ProstCodec::default();
4807                        let mut grpc = tonic::server::Grpc::new(codec)
4808                            .apply_compression_config(
4809                                accept_compression_encodings,
4810                                send_compression_encodings,
4811                            )
4812                            .apply_max_message_size_config(
4813                                max_decoding_message_size,
4814                                max_encoding_message_size,
4815                            );
4816                        let res = grpc.unary(method, req).await;
4817                        Ok(res)
4818                    };
4819                    Box::pin(fut)
4820                }
4821                "/meta.StreamManagerService/Refresh" => {
4822                    #[allow(non_camel_case_types)]
4823                    struct RefreshSvc<T: StreamManagerService>(pub Arc<T>);
4824                    impl<
4825                        T: StreamManagerService,
4826                    > tonic::server::UnaryService<super::RefreshRequest>
4827                    for RefreshSvc<T> {
4828                        type Response = super::RefreshResponse;
4829                        type Future = BoxFuture<
4830                            tonic::Response<Self::Response>,
4831                            tonic::Status,
4832                        >;
4833                        fn call(
4834                            &mut self,
4835                            request: tonic::Request<super::RefreshRequest>,
4836                        ) -> Self::Future {
4837                            let inner = Arc::clone(&self.0);
4838                            let fut = async move {
4839                                <T as StreamManagerService>::refresh(&inner, request).await
4840                            };
4841                            Box::pin(fut)
4842                        }
4843                    }
4844                    let accept_compression_encodings = self.accept_compression_encodings;
4845                    let send_compression_encodings = self.send_compression_encodings;
4846                    let max_decoding_message_size = self.max_decoding_message_size;
4847                    let max_encoding_message_size = self.max_encoding_message_size;
4848                    let inner = self.inner.clone();
4849                    let fut = async move {
4850                        let method = RefreshSvc(inner);
4851                        let codec = tonic::codec::ProstCodec::default();
4852                        let mut grpc = tonic::server::Grpc::new(codec)
4853                            .apply_compression_config(
4854                                accept_compression_encodings,
4855                                send_compression_encodings,
4856                            )
4857                            .apply_max_message_size_config(
4858                                max_decoding_message_size,
4859                                max_encoding_message_size,
4860                            );
4861                        let res = grpc.unary(method, req).await;
4862                        Ok(res)
4863                    };
4864                    Box::pin(fut)
4865                }
4866                "/meta.StreamManagerService/CancelCreatingJobs" => {
4867                    #[allow(non_camel_case_types)]
4868                    struct CancelCreatingJobsSvc<T: StreamManagerService>(pub Arc<T>);
4869                    impl<
4870                        T: StreamManagerService,
4871                    > tonic::server::UnaryService<super::CancelCreatingJobsRequest>
4872                    for CancelCreatingJobsSvc<T> {
4873                        type Response = super::CancelCreatingJobsResponse;
4874                        type Future = BoxFuture<
4875                            tonic::Response<Self::Response>,
4876                            tonic::Status,
4877                        >;
4878                        fn call(
4879                            &mut self,
4880                            request: tonic::Request<super::CancelCreatingJobsRequest>,
4881                        ) -> Self::Future {
4882                            let inner = Arc::clone(&self.0);
4883                            let fut = async move {
4884                                <T as StreamManagerService>::cancel_creating_jobs(
4885                                        &inner,
4886                                        request,
4887                                    )
4888                                    .await
4889                            };
4890                            Box::pin(fut)
4891                        }
4892                    }
4893                    let accept_compression_encodings = self.accept_compression_encodings;
4894                    let send_compression_encodings = self.send_compression_encodings;
4895                    let max_decoding_message_size = self.max_decoding_message_size;
4896                    let max_encoding_message_size = self.max_encoding_message_size;
4897                    let inner = self.inner.clone();
4898                    let fut = async move {
4899                        let method = CancelCreatingJobsSvc(inner);
4900                        let codec = tonic::codec::ProstCodec::default();
4901                        let mut grpc = tonic::server::Grpc::new(codec)
4902                            .apply_compression_config(
4903                                accept_compression_encodings,
4904                                send_compression_encodings,
4905                            )
4906                            .apply_max_message_size_config(
4907                                max_decoding_message_size,
4908                                max_encoding_message_size,
4909                            );
4910                        let res = grpc.unary(method, req).await;
4911                        Ok(res)
4912                    };
4913                    Box::pin(fut)
4914                }
4915                "/meta.StreamManagerService/ListTableFragments" => {
4916                    #[allow(non_camel_case_types)]
4917                    struct ListTableFragmentsSvc<T: StreamManagerService>(pub Arc<T>);
4918                    impl<
4919                        T: StreamManagerService,
4920                    > tonic::server::UnaryService<super::ListTableFragmentsRequest>
4921                    for ListTableFragmentsSvc<T> {
4922                        type Response = super::ListTableFragmentsResponse;
4923                        type Future = BoxFuture<
4924                            tonic::Response<Self::Response>,
4925                            tonic::Status,
4926                        >;
4927                        fn call(
4928                            &mut self,
4929                            request: tonic::Request<super::ListTableFragmentsRequest>,
4930                        ) -> Self::Future {
4931                            let inner = Arc::clone(&self.0);
4932                            let fut = async move {
4933                                <T as StreamManagerService>::list_table_fragments(
4934                                        &inner,
4935                                        request,
4936                                    )
4937                                    .await
4938                            };
4939                            Box::pin(fut)
4940                        }
4941                    }
4942                    let accept_compression_encodings = self.accept_compression_encodings;
4943                    let send_compression_encodings = self.send_compression_encodings;
4944                    let max_decoding_message_size = self.max_decoding_message_size;
4945                    let max_encoding_message_size = self.max_encoding_message_size;
4946                    let inner = self.inner.clone();
4947                    let fut = async move {
4948                        let method = ListTableFragmentsSvc(inner);
4949                        let codec = tonic::codec::ProstCodec::default();
4950                        let mut grpc = tonic::server::Grpc::new(codec)
4951                            .apply_compression_config(
4952                                accept_compression_encodings,
4953                                send_compression_encodings,
4954                            )
4955                            .apply_max_message_size_config(
4956                                max_decoding_message_size,
4957                                max_encoding_message_size,
4958                            );
4959                        let res = grpc.unary(method, req).await;
4960                        Ok(res)
4961                    };
4962                    Box::pin(fut)
4963                }
4964                "/meta.StreamManagerService/ListStreamingJobStates" => {
4965                    #[allow(non_camel_case_types)]
4966                    struct ListStreamingJobStatesSvc<T: StreamManagerService>(
4967                        pub Arc<T>,
4968                    );
4969                    impl<
4970                        T: StreamManagerService,
4971                    > tonic::server::UnaryService<super::ListStreamingJobStatesRequest>
4972                    for ListStreamingJobStatesSvc<T> {
4973                        type Response = super::ListStreamingJobStatesResponse;
4974                        type Future = BoxFuture<
4975                            tonic::Response<Self::Response>,
4976                            tonic::Status,
4977                        >;
4978                        fn call(
4979                            &mut self,
4980                            request: tonic::Request<super::ListStreamingJobStatesRequest>,
4981                        ) -> Self::Future {
4982                            let inner = Arc::clone(&self.0);
4983                            let fut = async move {
4984                                <T as StreamManagerService>::list_streaming_job_states(
4985                                        &inner,
4986                                        request,
4987                                    )
4988                                    .await
4989                            };
4990                            Box::pin(fut)
4991                        }
4992                    }
4993                    let accept_compression_encodings = self.accept_compression_encodings;
4994                    let send_compression_encodings = self.send_compression_encodings;
4995                    let max_decoding_message_size = self.max_decoding_message_size;
4996                    let max_encoding_message_size = self.max_encoding_message_size;
4997                    let inner = self.inner.clone();
4998                    let fut = async move {
4999                        let method = ListStreamingJobStatesSvc(inner);
5000                        let codec = tonic::codec::ProstCodec::default();
5001                        let mut grpc = tonic::server::Grpc::new(codec)
5002                            .apply_compression_config(
5003                                accept_compression_encodings,
5004                                send_compression_encodings,
5005                            )
5006                            .apply_max_message_size_config(
5007                                max_decoding_message_size,
5008                                max_encoding_message_size,
5009                            );
5010                        let res = grpc.unary(method, req).await;
5011                        Ok(res)
5012                    };
5013                    Box::pin(fut)
5014                }
5015                "/meta.StreamManagerService/ListFragmentDistribution" => {
5016                    #[allow(non_camel_case_types)]
5017                    struct ListFragmentDistributionSvc<T: StreamManagerService>(
5018                        pub Arc<T>,
5019                    );
5020                    impl<
5021                        T: StreamManagerService,
5022                    > tonic::server::UnaryService<super::ListFragmentDistributionRequest>
5023                    for ListFragmentDistributionSvc<T> {
5024                        type Response = super::ListFragmentDistributionResponse;
5025                        type Future = BoxFuture<
5026                            tonic::Response<Self::Response>,
5027                            tonic::Status,
5028                        >;
5029                        fn call(
5030                            &mut self,
5031                            request: tonic::Request<
5032                                super::ListFragmentDistributionRequest,
5033                            >,
5034                        ) -> Self::Future {
5035                            let inner = Arc::clone(&self.0);
5036                            let fut = async move {
5037                                <T as StreamManagerService>::list_fragment_distribution(
5038                                        &inner,
5039                                        request,
5040                                    )
5041                                    .await
5042                            };
5043                            Box::pin(fut)
5044                        }
5045                    }
5046                    let accept_compression_encodings = self.accept_compression_encodings;
5047                    let send_compression_encodings = self.send_compression_encodings;
5048                    let max_decoding_message_size = self.max_decoding_message_size;
5049                    let max_encoding_message_size = self.max_encoding_message_size;
5050                    let inner = self.inner.clone();
5051                    let fut = async move {
5052                        let method = ListFragmentDistributionSvc(inner);
5053                        let codec = tonic::codec::ProstCodec::default();
5054                        let mut grpc = tonic::server::Grpc::new(codec)
5055                            .apply_compression_config(
5056                                accept_compression_encodings,
5057                                send_compression_encodings,
5058                            )
5059                            .apply_max_message_size_config(
5060                                max_decoding_message_size,
5061                                max_encoding_message_size,
5062                            );
5063                        let res = grpc.unary(method, req).await;
5064                        Ok(res)
5065                    };
5066                    Box::pin(fut)
5067                }
5068                "/meta.StreamManagerService/ListCreatingFragmentDistribution" => {
5069                    #[allow(non_camel_case_types)]
5070                    struct ListCreatingFragmentDistributionSvc<T: StreamManagerService>(
5071                        pub Arc<T>,
5072                    );
5073                    impl<
5074                        T: StreamManagerService,
5075                    > tonic::server::UnaryService<
5076                        super::ListCreatingFragmentDistributionRequest,
5077                    > for ListCreatingFragmentDistributionSvc<T> {
5078                        type Response = super::ListCreatingFragmentDistributionResponse;
5079                        type Future = BoxFuture<
5080                            tonic::Response<Self::Response>,
5081                            tonic::Status,
5082                        >;
5083                        fn call(
5084                            &mut self,
5085                            request: tonic::Request<
5086                                super::ListCreatingFragmentDistributionRequest,
5087                            >,
5088                        ) -> Self::Future {
5089                            let inner = Arc::clone(&self.0);
5090                            let fut = async move {
5091                                <T as StreamManagerService>::list_creating_fragment_distribution(
5092                                        &inner,
5093                                        request,
5094                                    )
5095                                    .await
5096                            };
5097                            Box::pin(fut)
5098                        }
5099                    }
5100                    let accept_compression_encodings = self.accept_compression_encodings;
5101                    let send_compression_encodings = self.send_compression_encodings;
5102                    let max_decoding_message_size = self.max_decoding_message_size;
5103                    let max_encoding_message_size = self.max_encoding_message_size;
5104                    let inner = self.inner.clone();
5105                    let fut = async move {
5106                        let method = ListCreatingFragmentDistributionSvc(inner);
5107                        let codec = tonic::codec::ProstCodec::default();
5108                        let mut grpc = tonic::server::Grpc::new(codec)
5109                            .apply_compression_config(
5110                                accept_compression_encodings,
5111                                send_compression_encodings,
5112                            )
5113                            .apply_max_message_size_config(
5114                                max_decoding_message_size,
5115                                max_encoding_message_size,
5116                            );
5117                        let res = grpc.unary(method, req).await;
5118                        Ok(res)
5119                    };
5120                    Box::pin(fut)
5121                }
5122                "/meta.StreamManagerService/ListActorStates" => {
5123                    #[allow(non_camel_case_types)]
5124                    struct ListActorStatesSvc<T: StreamManagerService>(pub Arc<T>);
5125                    impl<
5126                        T: StreamManagerService,
5127                    > tonic::server::UnaryService<super::ListActorStatesRequest>
5128                    for ListActorStatesSvc<T> {
5129                        type Response = super::ListActorStatesResponse;
5130                        type Future = BoxFuture<
5131                            tonic::Response<Self::Response>,
5132                            tonic::Status,
5133                        >;
5134                        fn call(
5135                            &mut self,
5136                            request: tonic::Request<super::ListActorStatesRequest>,
5137                        ) -> Self::Future {
5138                            let inner = Arc::clone(&self.0);
5139                            let fut = async move {
5140                                <T as StreamManagerService>::list_actor_states(
5141                                        &inner,
5142                                        request,
5143                                    )
5144                                    .await
5145                            };
5146                            Box::pin(fut)
5147                        }
5148                    }
5149                    let accept_compression_encodings = self.accept_compression_encodings;
5150                    let send_compression_encodings = self.send_compression_encodings;
5151                    let max_decoding_message_size = self.max_decoding_message_size;
5152                    let max_encoding_message_size = self.max_encoding_message_size;
5153                    let inner = self.inner.clone();
5154                    let fut = async move {
5155                        let method = ListActorStatesSvc(inner);
5156                        let codec = tonic::codec::ProstCodec::default();
5157                        let mut grpc = tonic::server::Grpc::new(codec)
5158                            .apply_compression_config(
5159                                accept_compression_encodings,
5160                                send_compression_encodings,
5161                            )
5162                            .apply_max_message_size_config(
5163                                max_decoding_message_size,
5164                                max_encoding_message_size,
5165                            );
5166                        let res = grpc.unary(method, req).await;
5167                        Ok(res)
5168                    };
5169                    Box::pin(fut)
5170                }
5171                "/meta.StreamManagerService/ListActorSplits" => {
5172                    #[allow(non_camel_case_types)]
5173                    struct ListActorSplitsSvc<T: StreamManagerService>(pub Arc<T>);
5174                    impl<
5175                        T: StreamManagerService,
5176                    > tonic::server::UnaryService<super::ListActorSplitsRequest>
5177                    for ListActorSplitsSvc<T> {
5178                        type Response = super::ListActorSplitsResponse;
5179                        type Future = BoxFuture<
5180                            tonic::Response<Self::Response>,
5181                            tonic::Status,
5182                        >;
5183                        fn call(
5184                            &mut self,
5185                            request: tonic::Request<super::ListActorSplitsRequest>,
5186                        ) -> Self::Future {
5187                            let inner = Arc::clone(&self.0);
5188                            let fut = async move {
5189                                <T as StreamManagerService>::list_actor_splits(
5190                                        &inner,
5191                                        request,
5192                                    )
5193                                    .await
5194                            };
5195                            Box::pin(fut)
5196                        }
5197                    }
5198                    let accept_compression_encodings = self.accept_compression_encodings;
5199                    let send_compression_encodings = self.send_compression_encodings;
5200                    let max_decoding_message_size = self.max_decoding_message_size;
5201                    let max_encoding_message_size = self.max_encoding_message_size;
5202                    let inner = self.inner.clone();
5203                    let fut = async move {
5204                        let method = ListActorSplitsSvc(inner);
5205                        let codec = tonic::codec::ProstCodec::default();
5206                        let mut grpc = tonic::server::Grpc::new(codec)
5207                            .apply_compression_config(
5208                                accept_compression_encodings,
5209                                send_compression_encodings,
5210                            )
5211                            .apply_max_message_size_config(
5212                                max_decoding_message_size,
5213                                max_encoding_message_size,
5214                            );
5215                        let res = grpc.unary(method, req).await;
5216                        Ok(res)
5217                    };
5218                    Box::pin(fut)
5219                }
5220                "/meta.StreamManagerService/ListObjectDependencies" => {
5221                    #[allow(non_camel_case_types)]
5222                    struct ListObjectDependenciesSvc<T: StreamManagerService>(
5223                        pub Arc<T>,
5224                    );
5225                    impl<
5226                        T: StreamManagerService,
5227                    > tonic::server::UnaryService<super::ListObjectDependenciesRequest>
5228                    for ListObjectDependenciesSvc<T> {
5229                        type Response = super::ListObjectDependenciesResponse;
5230                        type Future = BoxFuture<
5231                            tonic::Response<Self::Response>,
5232                            tonic::Status,
5233                        >;
5234                        fn call(
5235                            &mut self,
5236                            request: tonic::Request<super::ListObjectDependenciesRequest>,
5237                        ) -> Self::Future {
5238                            let inner = Arc::clone(&self.0);
5239                            let fut = async move {
5240                                <T as StreamManagerService>::list_object_dependencies(
5241                                        &inner,
5242                                        request,
5243                                    )
5244                                    .await
5245                            };
5246                            Box::pin(fut)
5247                        }
5248                    }
5249                    let accept_compression_encodings = self.accept_compression_encodings;
5250                    let send_compression_encodings = self.send_compression_encodings;
5251                    let max_decoding_message_size = self.max_decoding_message_size;
5252                    let max_encoding_message_size = self.max_encoding_message_size;
5253                    let inner = self.inner.clone();
5254                    let fut = async move {
5255                        let method = ListObjectDependenciesSvc(inner);
5256                        let codec = tonic::codec::ProstCodec::default();
5257                        let mut grpc = tonic::server::Grpc::new(codec)
5258                            .apply_compression_config(
5259                                accept_compression_encodings,
5260                                send_compression_encodings,
5261                            )
5262                            .apply_max_message_size_config(
5263                                max_decoding_message_size,
5264                                max_encoding_message_size,
5265                            );
5266                        let res = grpc.unary(method, req).await;
5267                        Ok(res)
5268                    };
5269                    Box::pin(fut)
5270                }
5271                "/meta.StreamManagerService/ApplyThrottle" => {
5272                    #[allow(non_camel_case_types)]
5273                    struct ApplyThrottleSvc<T: StreamManagerService>(pub Arc<T>);
5274                    impl<
5275                        T: StreamManagerService,
5276                    > tonic::server::UnaryService<super::ApplyThrottleRequest>
5277                    for ApplyThrottleSvc<T> {
5278                        type Response = super::ApplyThrottleResponse;
5279                        type Future = BoxFuture<
5280                            tonic::Response<Self::Response>,
5281                            tonic::Status,
5282                        >;
5283                        fn call(
5284                            &mut self,
5285                            request: tonic::Request<super::ApplyThrottleRequest>,
5286                        ) -> Self::Future {
5287                            let inner = Arc::clone(&self.0);
5288                            let fut = async move {
5289                                <T as StreamManagerService>::apply_throttle(&inner, request)
5290                                    .await
5291                            };
5292                            Box::pin(fut)
5293                        }
5294                    }
5295                    let accept_compression_encodings = self.accept_compression_encodings;
5296                    let send_compression_encodings = self.send_compression_encodings;
5297                    let max_decoding_message_size = self.max_decoding_message_size;
5298                    let max_encoding_message_size = self.max_encoding_message_size;
5299                    let inner = self.inner.clone();
5300                    let fut = async move {
5301                        let method = ApplyThrottleSvc(inner);
5302                        let codec = tonic::codec::ProstCodec::default();
5303                        let mut grpc = tonic::server::Grpc::new(codec)
5304                            .apply_compression_config(
5305                                accept_compression_encodings,
5306                                send_compression_encodings,
5307                            )
5308                            .apply_max_message_size_config(
5309                                max_decoding_message_size,
5310                                max_encoding_message_size,
5311                            );
5312                        let res = grpc.unary(method, req).await;
5313                        Ok(res)
5314                    };
5315                    Box::pin(fut)
5316                }
5317                "/meta.StreamManagerService/Recover" => {
5318                    #[allow(non_camel_case_types)]
5319                    struct RecoverSvc<T: StreamManagerService>(pub Arc<T>);
5320                    impl<
5321                        T: StreamManagerService,
5322                    > tonic::server::UnaryService<super::RecoverRequest>
5323                    for RecoverSvc<T> {
5324                        type Response = super::RecoverResponse;
5325                        type Future = BoxFuture<
5326                            tonic::Response<Self::Response>,
5327                            tonic::Status,
5328                        >;
5329                        fn call(
5330                            &mut self,
5331                            request: tonic::Request<super::RecoverRequest>,
5332                        ) -> Self::Future {
5333                            let inner = Arc::clone(&self.0);
5334                            let fut = async move {
5335                                <T as StreamManagerService>::recover(&inner, request).await
5336                            };
5337                            Box::pin(fut)
5338                        }
5339                    }
5340                    let accept_compression_encodings = self.accept_compression_encodings;
5341                    let send_compression_encodings = self.send_compression_encodings;
5342                    let max_decoding_message_size = self.max_decoding_message_size;
5343                    let max_encoding_message_size = self.max_encoding_message_size;
5344                    let inner = self.inner.clone();
5345                    let fut = async move {
5346                        let method = RecoverSvc(inner);
5347                        let codec = tonic::codec::ProstCodec::default();
5348                        let mut grpc = tonic::server::Grpc::new(codec)
5349                            .apply_compression_config(
5350                                accept_compression_encodings,
5351                                send_compression_encodings,
5352                            )
5353                            .apply_max_message_size_config(
5354                                max_decoding_message_size,
5355                                max_encoding_message_size,
5356                            );
5357                        let res = grpc.unary(method, req).await;
5358                        Ok(res)
5359                    };
5360                    Box::pin(fut)
5361                }
5362                "/meta.StreamManagerService/ListRateLimits" => {
5363                    #[allow(non_camel_case_types)]
5364                    struct ListRateLimitsSvc<T: StreamManagerService>(pub Arc<T>);
5365                    impl<
5366                        T: StreamManagerService,
5367                    > tonic::server::UnaryService<super::ListRateLimitsRequest>
5368                    for ListRateLimitsSvc<T> {
5369                        type Response = super::ListRateLimitsResponse;
5370                        type Future = BoxFuture<
5371                            tonic::Response<Self::Response>,
5372                            tonic::Status,
5373                        >;
5374                        fn call(
5375                            &mut self,
5376                            request: tonic::Request<super::ListRateLimitsRequest>,
5377                        ) -> Self::Future {
5378                            let inner = Arc::clone(&self.0);
5379                            let fut = async move {
5380                                <T as StreamManagerService>::list_rate_limits(
5381                                        &inner,
5382                                        request,
5383                                    )
5384                                    .await
5385                            };
5386                            Box::pin(fut)
5387                        }
5388                    }
5389                    let accept_compression_encodings = self.accept_compression_encodings;
5390                    let send_compression_encodings = self.send_compression_encodings;
5391                    let max_decoding_message_size = self.max_decoding_message_size;
5392                    let max_encoding_message_size = self.max_encoding_message_size;
5393                    let inner = self.inner.clone();
5394                    let fut = async move {
5395                        let method = ListRateLimitsSvc(inner);
5396                        let codec = tonic::codec::ProstCodec::default();
5397                        let mut grpc = tonic::server::Grpc::new(codec)
5398                            .apply_compression_config(
5399                                accept_compression_encodings,
5400                                send_compression_encodings,
5401                            )
5402                            .apply_max_message_size_config(
5403                                max_decoding_message_size,
5404                                max_encoding_message_size,
5405                            );
5406                        let res = grpc.unary(method, req).await;
5407                        Ok(res)
5408                    };
5409                    Box::pin(fut)
5410                }
5411                "/meta.StreamManagerService/AlterConnectorProps" => {
5412                    #[allow(non_camel_case_types)]
5413                    struct AlterConnectorPropsSvc<T: StreamManagerService>(pub Arc<T>);
5414                    impl<
5415                        T: StreamManagerService,
5416                    > tonic::server::UnaryService<super::AlterConnectorPropsRequest>
5417                    for AlterConnectorPropsSvc<T> {
5418                        type Response = super::AlterConnectorPropsResponse;
5419                        type Future = BoxFuture<
5420                            tonic::Response<Self::Response>,
5421                            tonic::Status,
5422                        >;
5423                        fn call(
5424                            &mut self,
5425                            request: tonic::Request<super::AlterConnectorPropsRequest>,
5426                        ) -> Self::Future {
5427                            let inner = Arc::clone(&self.0);
5428                            let fut = async move {
5429                                <T as StreamManagerService>::alter_connector_props(
5430                                        &inner,
5431                                        request,
5432                                    )
5433                                    .await
5434                            };
5435                            Box::pin(fut)
5436                        }
5437                    }
5438                    let accept_compression_encodings = self.accept_compression_encodings;
5439                    let send_compression_encodings = self.send_compression_encodings;
5440                    let max_decoding_message_size = self.max_decoding_message_size;
5441                    let max_encoding_message_size = self.max_encoding_message_size;
5442                    let inner = self.inner.clone();
5443                    let fut = async move {
5444                        let method = AlterConnectorPropsSvc(inner);
5445                        let codec = tonic::codec::ProstCodec::default();
5446                        let mut grpc = tonic::server::Grpc::new(codec)
5447                            .apply_compression_config(
5448                                accept_compression_encodings,
5449                                send_compression_encodings,
5450                            )
5451                            .apply_max_message_size_config(
5452                                max_decoding_message_size,
5453                                max_encoding_message_size,
5454                            );
5455                        let res = grpc.unary(method, req).await;
5456                        Ok(res)
5457                    };
5458                    Box::pin(fut)
5459                }
5460                "/meta.StreamManagerService/GetFragmentById" => {
5461                    #[allow(non_camel_case_types)]
5462                    struct GetFragmentByIdSvc<T: StreamManagerService>(pub Arc<T>);
5463                    impl<
5464                        T: StreamManagerService,
5465                    > tonic::server::UnaryService<super::GetFragmentByIdRequest>
5466                    for GetFragmentByIdSvc<T> {
5467                        type Response = super::GetFragmentByIdResponse;
5468                        type Future = BoxFuture<
5469                            tonic::Response<Self::Response>,
5470                            tonic::Status,
5471                        >;
5472                        fn call(
5473                            &mut self,
5474                            request: tonic::Request<super::GetFragmentByIdRequest>,
5475                        ) -> Self::Future {
5476                            let inner = Arc::clone(&self.0);
5477                            let fut = async move {
5478                                <T as StreamManagerService>::get_fragment_by_id(
5479                                        &inner,
5480                                        request,
5481                                    )
5482                                    .await
5483                            };
5484                            Box::pin(fut)
5485                        }
5486                    }
5487                    let accept_compression_encodings = self.accept_compression_encodings;
5488                    let send_compression_encodings = self.send_compression_encodings;
5489                    let max_decoding_message_size = self.max_decoding_message_size;
5490                    let max_encoding_message_size = self.max_encoding_message_size;
5491                    let inner = self.inner.clone();
5492                    let fut = async move {
5493                        let method = GetFragmentByIdSvc(inner);
5494                        let codec = tonic::codec::ProstCodec::default();
5495                        let mut grpc = tonic::server::Grpc::new(codec)
5496                            .apply_compression_config(
5497                                accept_compression_encodings,
5498                                send_compression_encodings,
5499                            )
5500                            .apply_max_message_size_config(
5501                                max_decoding_message_size,
5502                                max_encoding_message_size,
5503                            );
5504                        let res = grpc.unary(method, req).await;
5505                        Ok(res)
5506                    };
5507                    Box::pin(fut)
5508                }
5509                "/meta.StreamManagerService/SetSyncLogStoreAligned" => {
5510                    #[allow(non_camel_case_types)]
5511                    struct SetSyncLogStoreAlignedSvc<T: StreamManagerService>(
5512                        pub Arc<T>,
5513                    );
5514                    impl<
5515                        T: StreamManagerService,
5516                    > tonic::server::UnaryService<super::SetSyncLogStoreAlignedRequest>
5517                    for SetSyncLogStoreAlignedSvc<T> {
5518                        type Response = super::SetSyncLogStoreAlignedResponse;
5519                        type Future = BoxFuture<
5520                            tonic::Response<Self::Response>,
5521                            tonic::Status,
5522                        >;
5523                        fn call(
5524                            &mut self,
5525                            request: tonic::Request<super::SetSyncLogStoreAlignedRequest>,
5526                        ) -> Self::Future {
5527                            let inner = Arc::clone(&self.0);
5528                            let fut = async move {
5529                                <T as StreamManagerService>::set_sync_log_store_aligned(
5530                                        &inner,
5531                                        request,
5532                                    )
5533                                    .await
5534                            };
5535                            Box::pin(fut)
5536                        }
5537                    }
5538                    let accept_compression_encodings = self.accept_compression_encodings;
5539                    let send_compression_encodings = self.send_compression_encodings;
5540                    let max_decoding_message_size = self.max_decoding_message_size;
5541                    let max_encoding_message_size = self.max_encoding_message_size;
5542                    let inner = self.inner.clone();
5543                    let fut = async move {
5544                        let method = SetSyncLogStoreAlignedSvc(inner);
5545                        let codec = tonic::codec::ProstCodec::default();
5546                        let mut grpc = tonic::server::Grpc::new(codec)
5547                            .apply_compression_config(
5548                                accept_compression_encodings,
5549                                send_compression_encodings,
5550                            )
5551                            .apply_max_message_size_config(
5552                                max_decoding_message_size,
5553                                max_encoding_message_size,
5554                            );
5555                        let res = grpc.unary(method, req).await;
5556                        Ok(res)
5557                    };
5558                    Box::pin(fut)
5559                }
5560                _ => {
5561                    Box::pin(async move {
5562                        let mut response = http::Response::new(empty_body());
5563                        let headers = response.headers_mut();
5564                        headers
5565                            .insert(
5566                                tonic::Status::GRPC_STATUS,
5567                                (tonic::Code::Unimplemented as i32).into(),
5568                            );
5569                        headers
5570                            .insert(
5571                                http::header::CONTENT_TYPE,
5572                                tonic::metadata::GRPC_CONTENT_TYPE,
5573                            );
5574                        Ok(response)
5575                    })
5576                }
5577            }
5578        }
5579    }
5580    impl<T> Clone for StreamManagerServiceServer<T> {
5581        fn clone(&self) -> Self {
5582            let inner = self.inner.clone();
5583            Self {
5584                inner,
5585                accept_compression_encodings: self.accept_compression_encodings,
5586                send_compression_encodings: self.send_compression_encodings,
5587                max_decoding_message_size: self.max_decoding_message_size,
5588                max_encoding_message_size: self.max_encoding_message_size,
5589            }
5590        }
5591    }
5592    /// Generated gRPC service name
5593    pub const SERVICE_NAME: &str = "meta.StreamManagerService";
5594    impl<T> tonic::server::NamedService for StreamManagerServiceServer<T> {
5595        const NAME: &'static str = SERVICE_NAME;
5596    }
5597}
5598/// Generated server implementations.
5599pub mod cluster_service_server {
5600    #![allow(
5601        unused_variables,
5602        dead_code,
5603        missing_docs,
5604        clippy::wildcard_imports,
5605        clippy::let_unit_value,
5606    )]
5607    use tonic::codegen::*;
5608    /// Generated trait containing gRPC methods that should be implemented for use with ClusterServiceServer.
5609    #[async_trait]
5610    pub trait ClusterService: std::marker::Send + std::marker::Sync + 'static {
5611        async fn add_worker_node(
5612            &self,
5613            request: tonic::Request<super::AddWorkerNodeRequest>,
5614        ) -> std::result::Result<
5615            tonic::Response<super::AddWorkerNodeResponse>,
5616            tonic::Status,
5617        >;
5618        async fn activate_worker_node(
5619            &self,
5620            request: tonic::Request<super::ActivateWorkerNodeRequest>,
5621        ) -> std::result::Result<
5622            tonic::Response<super::ActivateWorkerNodeResponse>,
5623            tonic::Status,
5624        >;
5625        async fn delete_worker_node(
5626            &self,
5627            request: tonic::Request<super::DeleteWorkerNodeRequest>,
5628        ) -> std::result::Result<
5629            tonic::Response<super::DeleteWorkerNodeResponse>,
5630            tonic::Status,
5631        >;
5632        async fn update_worker_node_schedulability(
5633            &self,
5634            request: tonic::Request<super::UpdateWorkerNodeSchedulabilityRequest>,
5635        ) -> std::result::Result<
5636            tonic::Response<super::UpdateWorkerNodeSchedulabilityResponse>,
5637            tonic::Status,
5638        >;
5639        async fn list_all_nodes(
5640            &self,
5641            request: tonic::Request<super::ListAllNodesRequest>,
5642        ) -> std::result::Result<
5643            tonic::Response<super::ListAllNodesResponse>,
5644            tonic::Status,
5645        >;
5646        async fn get_cluster_recovery_status(
5647            &self,
5648            request: tonic::Request<super::GetClusterRecoveryStatusRequest>,
5649        ) -> std::result::Result<
5650            tonic::Response<super::GetClusterRecoveryStatusResponse>,
5651            tonic::Status,
5652        >;
5653        async fn get_meta_store_info(
5654            &self,
5655            request: tonic::Request<super::GetMetaStoreInfoRequest>,
5656        ) -> std::result::Result<
5657            tonic::Response<super::GetMetaStoreInfoResponse>,
5658            tonic::Status,
5659        >;
5660    }
5661    #[derive(Debug)]
5662    pub struct ClusterServiceServer<T> {
5663        inner: Arc<T>,
5664        accept_compression_encodings: EnabledCompressionEncodings,
5665        send_compression_encodings: EnabledCompressionEncodings,
5666        max_decoding_message_size: Option<usize>,
5667        max_encoding_message_size: Option<usize>,
5668    }
5669    impl<T> ClusterServiceServer<T> {
5670        pub fn new(inner: T) -> Self {
5671            Self::from_arc(Arc::new(inner))
5672        }
5673        pub fn from_arc(inner: Arc<T>) -> Self {
5674            Self {
5675                inner,
5676                accept_compression_encodings: Default::default(),
5677                send_compression_encodings: Default::default(),
5678                max_decoding_message_size: None,
5679                max_encoding_message_size: None,
5680            }
5681        }
5682        pub fn with_interceptor<F>(
5683            inner: T,
5684            interceptor: F,
5685        ) -> InterceptedService<Self, F>
5686        where
5687            F: tonic::service::Interceptor,
5688        {
5689            InterceptedService::new(Self::new(inner), interceptor)
5690        }
5691        /// Enable decompressing requests with the given encoding.
5692        #[must_use]
5693        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
5694            self.accept_compression_encodings.enable(encoding);
5695            self
5696        }
5697        /// Compress responses with the given encoding, if the client supports it.
5698        #[must_use]
5699        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
5700            self.send_compression_encodings.enable(encoding);
5701            self
5702        }
5703        /// Limits the maximum size of a decoded message.
5704        ///
5705        /// Default: `4MB`
5706        #[must_use]
5707        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
5708            self.max_decoding_message_size = Some(limit);
5709            self
5710        }
5711        /// Limits the maximum size of an encoded message.
5712        ///
5713        /// Default: `usize::MAX`
5714        #[must_use]
5715        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
5716            self.max_encoding_message_size = Some(limit);
5717            self
5718        }
5719    }
5720    impl<T, B> tonic::codegen::Service<http::Request<B>> for ClusterServiceServer<T>
5721    where
5722        T: ClusterService,
5723        B: Body + std::marker::Send + 'static,
5724        B::Error: Into<StdError> + std::marker::Send + 'static,
5725    {
5726        type Response = http::Response<tonic::body::BoxBody>;
5727        type Error = std::convert::Infallible;
5728        type Future = BoxFuture<Self::Response, Self::Error>;
5729        fn poll_ready(
5730            &mut self,
5731            _cx: &mut Context<'_>,
5732        ) -> Poll<std::result::Result<(), Self::Error>> {
5733            Poll::Ready(Ok(()))
5734        }
5735        fn call(&mut self, req: http::Request<B>) -> Self::Future {
5736            match req.uri().path() {
5737                "/meta.ClusterService/AddWorkerNode" => {
5738                    #[allow(non_camel_case_types)]
5739                    struct AddWorkerNodeSvc<T: ClusterService>(pub Arc<T>);
5740                    impl<
5741                        T: ClusterService,
5742                    > tonic::server::UnaryService<super::AddWorkerNodeRequest>
5743                    for AddWorkerNodeSvc<T> {
5744                        type Response = super::AddWorkerNodeResponse;
5745                        type Future = BoxFuture<
5746                            tonic::Response<Self::Response>,
5747                            tonic::Status,
5748                        >;
5749                        fn call(
5750                            &mut self,
5751                            request: tonic::Request<super::AddWorkerNodeRequest>,
5752                        ) -> Self::Future {
5753                            let inner = Arc::clone(&self.0);
5754                            let fut = async move {
5755                                <T as ClusterService>::add_worker_node(&inner, request)
5756                                    .await
5757                            };
5758                            Box::pin(fut)
5759                        }
5760                    }
5761                    let accept_compression_encodings = self.accept_compression_encodings;
5762                    let send_compression_encodings = self.send_compression_encodings;
5763                    let max_decoding_message_size = self.max_decoding_message_size;
5764                    let max_encoding_message_size = self.max_encoding_message_size;
5765                    let inner = self.inner.clone();
5766                    let fut = async move {
5767                        let method = AddWorkerNodeSvc(inner);
5768                        let codec = tonic::codec::ProstCodec::default();
5769                        let mut grpc = tonic::server::Grpc::new(codec)
5770                            .apply_compression_config(
5771                                accept_compression_encodings,
5772                                send_compression_encodings,
5773                            )
5774                            .apply_max_message_size_config(
5775                                max_decoding_message_size,
5776                                max_encoding_message_size,
5777                            );
5778                        let res = grpc.unary(method, req).await;
5779                        Ok(res)
5780                    };
5781                    Box::pin(fut)
5782                }
5783                "/meta.ClusterService/ActivateWorkerNode" => {
5784                    #[allow(non_camel_case_types)]
5785                    struct ActivateWorkerNodeSvc<T: ClusterService>(pub Arc<T>);
5786                    impl<
5787                        T: ClusterService,
5788                    > tonic::server::UnaryService<super::ActivateWorkerNodeRequest>
5789                    for ActivateWorkerNodeSvc<T> {
5790                        type Response = super::ActivateWorkerNodeResponse;
5791                        type Future = BoxFuture<
5792                            tonic::Response<Self::Response>,
5793                            tonic::Status,
5794                        >;
5795                        fn call(
5796                            &mut self,
5797                            request: tonic::Request<super::ActivateWorkerNodeRequest>,
5798                        ) -> Self::Future {
5799                            let inner = Arc::clone(&self.0);
5800                            let fut = async move {
5801                                <T as ClusterService>::activate_worker_node(&inner, request)
5802                                    .await
5803                            };
5804                            Box::pin(fut)
5805                        }
5806                    }
5807                    let accept_compression_encodings = self.accept_compression_encodings;
5808                    let send_compression_encodings = self.send_compression_encodings;
5809                    let max_decoding_message_size = self.max_decoding_message_size;
5810                    let max_encoding_message_size = self.max_encoding_message_size;
5811                    let inner = self.inner.clone();
5812                    let fut = async move {
5813                        let method = ActivateWorkerNodeSvc(inner);
5814                        let codec = tonic::codec::ProstCodec::default();
5815                        let mut grpc = tonic::server::Grpc::new(codec)
5816                            .apply_compression_config(
5817                                accept_compression_encodings,
5818                                send_compression_encodings,
5819                            )
5820                            .apply_max_message_size_config(
5821                                max_decoding_message_size,
5822                                max_encoding_message_size,
5823                            );
5824                        let res = grpc.unary(method, req).await;
5825                        Ok(res)
5826                    };
5827                    Box::pin(fut)
5828                }
5829                "/meta.ClusterService/DeleteWorkerNode" => {
5830                    #[allow(non_camel_case_types)]
5831                    struct DeleteWorkerNodeSvc<T: ClusterService>(pub Arc<T>);
5832                    impl<
5833                        T: ClusterService,
5834                    > tonic::server::UnaryService<super::DeleteWorkerNodeRequest>
5835                    for DeleteWorkerNodeSvc<T> {
5836                        type Response = super::DeleteWorkerNodeResponse;
5837                        type Future = BoxFuture<
5838                            tonic::Response<Self::Response>,
5839                            tonic::Status,
5840                        >;
5841                        fn call(
5842                            &mut self,
5843                            request: tonic::Request<super::DeleteWorkerNodeRequest>,
5844                        ) -> Self::Future {
5845                            let inner = Arc::clone(&self.0);
5846                            let fut = async move {
5847                                <T as ClusterService>::delete_worker_node(&inner, request)
5848                                    .await
5849                            };
5850                            Box::pin(fut)
5851                        }
5852                    }
5853                    let accept_compression_encodings = self.accept_compression_encodings;
5854                    let send_compression_encodings = self.send_compression_encodings;
5855                    let max_decoding_message_size = self.max_decoding_message_size;
5856                    let max_encoding_message_size = self.max_encoding_message_size;
5857                    let inner = self.inner.clone();
5858                    let fut = async move {
5859                        let method = DeleteWorkerNodeSvc(inner);
5860                        let codec = tonic::codec::ProstCodec::default();
5861                        let mut grpc = tonic::server::Grpc::new(codec)
5862                            .apply_compression_config(
5863                                accept_compression_encodings,
5864                                send_compression_encodings,
5865                            )
5866                            .apply_max_message_size_config(
5867                                max_decoding_message_size,
5868                                max_encoding_message_size,
5869                            );
5870                        let res = grpc.unary(method, req).await;
5871                        Ok(res)
5872                    };
5873                    Box::pin(fut)
5874                }
5875                "/meta.ClusterService/UpdateWorkerNodeSchedulability" => {
5876                    #[allow(non_camel_case_types)]
5877                    struct UpdateWorkerNodeSchedulabilitySvc<T: ClusterService>(
5878                        pub Arc<T>,
5879                    );
5880                    impl<
5881                        T: ClusterService,
5882                    > tonic::server::UnaryService<
5883                        super::UpdateWorkerNodeSchedulabilityRequest,
5884                    > for UpdateWorkerNodeSchedulabilitySvc<T> {
5885                        type Response = super::UpdateWorkerNodeSchedulabilityResponse;
5886                        type Future = BoxFuture<
5887                            tonic::Response<Self::Response>,
5888                            tonic::Status,
5889                        >;
5890                        fn call(
5891                            &mut self,
5892                            request: tonic::Request<
5893                                super::UpdateWorkerNodeSchedulabilityRequest,
5894                            >,
5895                        ) -> Self::Future {
5896                            let inner = Arc::clone(&self.0);
5897                            let fut = async move {
5898                                <T as ClusterService>::update_worker_node_schedulability(
5899                                        &inner,
5900                                        request,
5901                                    )
5902                                    .await
5903                            };
5904                            Box::pin(fut)
5905                        }
5906                    }
5907                    let accept_compression_encodings = self.accept_compression_encodings;
5908                    let send_compression_encodings = self.send_compression_encodings;
5909                    let max_decoding_message_size = self.max_decoding_message_size;
5910                    let max_encoding_message_size = self.max_encoding_message_size;
5911                    let inner = self.inner.clone();
5912                    let fut = async move {
5913                        let method = UpdateWorkerNodeSchedulabilitySvc(inner);
5914                        let codec = tonic::codec::ProstCodec::default();
5915                        let mut grpc = tonic::server::Grpc::new(codec)
5916                            .apply_compression_config(
5917                                accept_compression_encodings,
5918                                send_compression_encodings,
5919                            )
5920                            .apply_max_message_size_config(
5921                                max_decoding_message_size,
5922                                max_encoding_message_size,
5923                            );
5924                        let res = grpc.unary(method, req).await;
5925                        Ok(res)
5926                    };
5927                    Box::pin(fut)
5928                }
5929                "/meta.ClusterService/ListAllNodes" => {
5930                    #[allow(non_camel_case_types)]
5931                    struct ListAllNodesSvc<T: ClusterService>(pub Arc<T>);
5932                    impl<
5933                        T: ClusterService,
5934                    > tonic::server::UnaryService<super::ListAllNodesRequest>
5935                    for ListAllNodesSvc<T> {
5936                        type Response = super::ListAllNodesResponse;
5937                        type Future = BoxFuture<
5938                            tonic::Response<Self::Response>,
5939                            tonic::Status,
5940                        >;
5941                        fn call(
5942                            &mut self,
5943                            request: tonic::Request<super::ListAllNodesRequest>,
5944                        ) -> Self::Future {
5945                            let inner = Arc::clone(&self.0);
5946                            let fut = async move {
5947                                <T as ClusterService>::list_all_nodes(&inner, request).await
5948                            };
5949                            Box::pin(fut)
5950                        }
5951                    }
5952                    let accept_compression_encodings = self.accept_compression_encodings;
5953                    let send_compression_encodings = self.send_compression_encodings;
5954                    let max_decoding_message_size = self.max_decoding_message_size;
5955                    let max_encoding_message_size = self.max_encoding_message_size;
5956                    let inner = self.inner.clone();
5957                    let fut = async move {
5958                        let method = ListAllNodesSvc(inner);
5959                        let codec = tonic::codec::ProstCodec::default();
5960                        let mut grpc = tonic::server::Grpc::new(codec)
5961                            .apply_compression_config(
5962                                accept_compression_encodings,
5963                                send_compression_encodings,
5964                            )
5965                            .apply_max_message_size_config(
5966                                max_decoding_message_size,
5967                                max_encoding_message_size,
5968                            );
5969                        let res = grpc.unary(method, req).await;
5970                        Ok(res)
5971                    };
5972                    Box::pin(fut)
5973                }
5974                "/meta.ClusterService/GetClusterRecoveryStatus" => {
5975                    #[allow(non_camel_case_types)]
5976                    struct GetClusterRecoveryStatusSvc<T: ClusterService>(pub Arc<T>);
5977                    impl<
5978                        T: ClusterService,
5979                    > tonic::server::UnaryService<super::GetClusterRecoveryStatusRequest>
5980                    for GetClusterRecoveryStatusSvc<T> {
5981                        type Response = super::GetClusterRecoveryStatusResponse;
5982                        type Future = BoxFuture<
5983                            tonic::Response<Self::Response>,
5984                            tonic::Status,
5985                        >;
5986                        fn call(
5987                            &mut self,
5988                            request: tonic::Request<
5989                                super::GetClusterRecoveryStatusRequest,
5990                            >,
5991                        ) -> Self::Future {
5992                            let inner = Arc::clone(&self.0);
5993                            let fut = async move {
5994                                <T as ClusterService>::get_cluster_recovery_status(
5995                                        &inner,
5996                                        request,
5997                                    )
5998                                    .await
5999                            };
6000                            Box::pin(fut)
6001                        }
6002                    }
6003                    let accept_compression_encodings = self.accept_compression_encodings;
6004                    let send_compression_encodings = self.send_compression_encodings;
6005                    let max_decoding_message_size = self.max_decoding_message_size;
6006                    let max_encoding_message_size = self.max_encoding_message_size;
6007                    let inner = self.inner.clone();
6008                    let fut = async move {
6009                        let method = GetClusterRecoveryStatusSvc(inner);
6010                        let codec = tonic::codec::ProstCodec::default();
6011                        let mut grpc = tonic::server::Grpc::new(codec)
6012                            .apply_compression_config(
6013                                accept_compression_encodings,
6014                                send_compression_encodings,
6015                            )
6016                            .apply_max_message_size_config(
6017                                max_decoding_message_size,
6018                                max_encoding_message_size,
6019                            );
6020                        let res = grpc.unary(method, req).await;
6021                        Ok(res)
6022                    };
6023                    Box::pin(fut)
6024                }
6025                "/meta.ClusterService/GetMetaStoreInfo" => {
6026                    #[allow(non_camel_case_types)]
6027                    struct GetMetaStoreInfoSvc<T: ClusterService>(pub Arc<T>);
6028                    impl<
6029                        T: ClusterService,
6030                    > tonic::server::UnaryService<super::GetMetaStoreInfoRequest>
6031                    for GetMetaStoreInfoSvc<T> {
6032                        type Response = super::GetMetaStoreInfoResponse;
6033                        type Future = BoxFuture<
6034                            tonic::Response<Self::Response>,
6035                            tonic::Status,
6036                        >;
6037                        fn call(
6038                            &mut self,
6039                            request: tonic::Request<super::GetMetaStoreInfoRequest>,
6040                        ) -> Self::Future {
6041                            let inner = Arc::clone(&self.0);
6042                            let fut = async move {
6043                                <T as ClusterService>::get_meta_store_info(&inner, request)
6044                                    .await
6045                            };
6046                            Box::pin(fut)
6047                        }
6048                    }
6049                    let accept_compression_encodings = self.accept_compression_encodings;
6050                    let send_compression_encodings = self.send_compression_encodings;
6051                    let max_decoding_message_size = self.max_decoding_message_size;
6052                    let max_encoding_message_size = self.max_encoding_message_size;
6053                    let inner = self.inner.clone();
6054                    let fut = async move {
6055                        let method = GetMetaStoreInfoSvc(inner);
6056                        let codec = tonic::codec::ProstCodec::default();
6057                        let mut grpc = tonic::server::Grpc::new(codec)
6058                            .apply_compression_config(
6059                                accept_compression_encodings,
6060                                send_compression_encodings,
6061                            )
6062                            .apply_max_message_size_config(
6063                                max_decoding_message_size,
6064                                max_encoding_message_size,
6065                            );
6066                        let res = grpc.unary(method, req).await;
6067                        Ok(res)
6068                    };
6069                    Box::pin(fut)
6070                }
6071                _ => {
6072                    Box::pin(async move {
6073                        let mut response = http::Response::new(empty_body());
6074                        let headers = response.headers_mut();
6075                        headers
6076                            .insert(
6077                                tonic::Status::GRPC_STATUS,
6078                                (tonic::Code::Unimplemented as i32).into(),
6079                            );
6080                        headers
6081                            .insert(
6082                                http::header::CONTENT_TYPE,
6083                                tonic::metadata::GRPC_CONTENT_TYPE,
6084                            );
6085                        Ok(response)
6086                    })
6087                }
6088            }
6089        }
6090    }
6091    impl<T> Clone for ClusterServiceServer<T> {
6092        fn clone(&self) -> Self {
6093            let inner = self.inner.clone();
6094            Self {
6095                inner,
6096                accept_compression_encodings: self.accept_compression_encodings,
6097                send_compression_encodings: self.send_compression_encodings,
6098                max_decoding_message_size: self.max_decoding_message_size,
6099                max_encoding_message_size: self.max_encoding_message_size,
6100            }
6101        }
6102    }
6103    /// Generated gRPC service name
6104    pub const SERVICE_NAME: &str = "meta.ClusterService";
6105    impl<T> tonic::server::NamedService for ClusterServiceServer<T> {
6106        const NAME: &'static str = SERVICE_NAME;
6107    }
6108}
6109/// Generated server implementations.
6110pub mod notification_service_server {
6111    #![allow(
6112        unused_variables,
6113        dead_code,
6114        missing_docs,
6115        clippy::wildcard_imports,
6116        clippy::let_unit_value,
6117    )]
6118    use tonic::codegen::*;
6119    /// Generated trait containing gRPC methods that should be implemented for use with NotificationServiceServer.
6120    #[async_trait]
6121    pub trait NotificationService: std::marker::Send + std::marker::Sync + 'static {
6122        /// Server streaming response type for the Subscribe method.
6123        type SubscribeStream: tonic::codegen::tokio_stream::Stream<
6124                Item = std::result::Result<super::SubscribeResponse, tonic::Status>,
6125            >
6126            + std::marker::Send
6127            + 'static;
6128        async fn subscribe(
6129            &self,
6130            request: tonic::Request<super::SubscribeRequest>,
6131        ) -> std::result::Result<tonic::Response<Self::SubscribeStream>, tonic::Status>;
6132    }
6133    #[derive(Debug)]
6134    pub struct NotificationServiceServer<T> {
6135        inner: Arc<T>,
6136        accept_compression_encodings: EnabledCompressionEncodings,
6137        send_compression_encodings: EnabledCompressionEncodings,
6138        max_decoding_message_size: Option<usize>,
6139        max_encoding_message_size: Option<usize>,
6140    }
6141    impl<T> NotificationServiceServer<T> {
6142        pub fn new(inner: T) -> Self {
6143            Self::from_arc(Arc::new(inner))
6144        }
6145        pub fn from_arc(inner: Arc<T>) -> Self {
6146            Self {
6147                inner,
6148                accept_compression_encodings: Default::default(),
6149                send_compression_encodings: Default::default(),
6150                max_decoding_message_size: None,
6151                max_encoding_message_size: None,
6152            }
6153        }
6154        pub fn with_interceptor<F>(
6155            inner: T,
6156            interceptor: F,
6157        ) -> InterceptedService<Self, F>
6158        where
6159            F: tonic::service::Interceptor,
6160        {
6161            InterceptedService::new(Self::new(inner), interceptor)
6162        }
6163        /// Enable decompressing requests with the given encoding.
6164        #[must_use]
6165        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
6166            self.accept_compression_encodings.enable(encoding);
6167            self
6168        }
6169        /// Compress responses with the given encoding, if the client supports it.
6170        #[must_use]
6171        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
6172            self.send_compression_encodings.enable(encoding);
6173            self
6174        }
6175        /// Limits the maximum size of a decoded message.
6176        ///
6177        /// Default: `4MB`
6178        #[must_use]
6179        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
6180            self.max_decoding_message_size = Some(limit);
6181            self
6182        }
6183        /// Limits the maximum size of an encoded message.
6184        ///
6185        /// Default: `usize::MAX`
6186        #[must_use]
6187        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
6188            self.max_encoding_message_size = Some(limit);
6189            self
6190        }
6191    }
6192    impl<T, B> tonic::codegen::Service<http::Request<B>> for NotificationServiceServer<T>
6193    where
6194        T: NotificationService,
6195        B: Body + std::marker::Send + 'static,
6196        B::Error: Into<StdError> + std::marker::Send + 'static,
6197    {
6198        type Response = http::Response<tonic::body::BoxBody>;
6199        type Error = std::convert::Infallible;
6200        type Future = BoxFuture<Self::Response, Self::Error>;
6201        fn poll_ready(
6202            &mut self,
6203            _cx: &mut Context<'_>,
6204        ) -> Poll<std::result::Result<(), Self::Error>> {
6205            Poll::Ready(Ok(()))
6206        }
6207        fn call(&mut self, req: http::Request<B>) -> Self::Future {
6208            match req.uri().path() {
6209                "/meta.NotificationService/Subscribe" => {
6210                    #[allow(non_camel_case_types)]
6211                    struct SubscribeSvc<T: NotificationService>(pub Arc<T>);
6212                    impl<
6213                        T: NotificationService,
6214                    > tonic::server::ServerStreamingService<super::SubscribeRequest>
6215                    for SubscribeSvc<T> {
6216                        type Response = super::SubscribeResponse;
6217                        type ResponseStream = T::SubscribeStream;
6218                        type Future = BoxFuture<
6219                            tonic::Response<Self::ResponseStream>,
6220                            tonic::Status,
6221                        >;
6222                        fn call(
6223                            &mut self,
6224                            request: tonic::Request<super::SubscribeRequest>,
6225                        ) -> Self::Future {
6226                            let inner = Arc::clone(&self.0);
6227                            let fut = async move {
6228                                <T as NotificationService>::subscribe(&inner, request).await
6229                            };
6230                            Box::pin(fut)
6231                        }
6232                    }
6233                    let accept_compression_encodings = self.accept_compression_encodings;
6234                    let send_compression_encodings = self.send_compression_encodings;
6235                    let max_decoding_message_size = self.max_decoding_message_size;
6236                    let max_encoding_message_size = self.max_encoding_message_size;
6237                    let inner = self.inner.clone();
6238                    let fut = async move {
6239                        let method = SubscribeSvc(inner);
6240                        let codec = tonic::codec::ProstCodec::default();
6241                        let mut grpc = tonic::server::Grpc::new(codec)
6242                            .apply_compression_config(
6243                                accept_compression_encodings,
6244                                send_compression_encodings,
6245                            )
6246                            .apply_max_message_size_config(
6247                                max_decoding_message_size,
6248                                max_encoding_message_size,
6249                            );
6250                        let res = grpc.server_streaming(method, req).await;
6251                        Ok(res)
6252                    };
6253                    Box::pin(fut)
6254                }
6255                _ => {
6256                    Box::pin(async move {
6257                        let mut response = http::Response::new(empty_body());
6258                        let headers = response.headers_mut();
6259                        headers
6260                            .insert(
6261                                tonic::Status::GRPC_STATUS,
6262                                (tonic::Code::Unimplemented as i32).into(),
6263                            );
6264                        headers
6265                            .insert(
6266                                http::header::CONTENT_TYPE,
6267                                tonic::metadata::GRPC_CONTENT_TYPE,
6268                            );
6269                        Ok(response)
6270                    })
6271                }
6272            }
6273        }
6274    }
6275    impl<T> Clone for NotificationServiceServer<T> {
6276        fn clone(&self) -> Self {
6277            let inner = self.inner.clone();
6278            Self {
6279                inner,
6280                accept_compression_encodings: self.accept_compression_encodings,
6281                send_compression_encodings: self.send_compression_encodings,
6282                max_decoding_message_size: self.max_decoding_message_size,
6283                max_encoding_message_size: self.max_encoding_message_size,
6284            }
6285        }
6286    }
6287    /// Generated gRPC service name
6288    pub const SERVICE_NAME: &str = "meta.NotificationService";
6289    impl<T> tonic::server::NamedService for NotificationServiceServer<T> {
6290        const NAME: &'static str = SERVICE_NAME;
6291    }
6292}
6293/// Generated server implementations.
6294pub mod scale_service_server {
6295    #![allow(
6296        unused_variables,
6297        dead_code,
6298        missing_docs,
6299        clippy::wildcard_imports,
6300        clippy::let_unit_value,
6301    )]
6302    use tonic::codegen::*;
6303    /// Generated trait containing gRPC methods that should be implemented for use with ScaleServiceServer.
6304    #[async_trait]
6305    pub trait ScaleService: std::marker::Send + std::marker::Sync + 'static {
6306        async fn get_cluster_info(
6307            &self,
6308            request: tonic::Request<super::GetClusterInfoRequest>,
6309        ) -> std::result::Result<
6310            tonic::Response<super::GetClusterInfoResponse>,
6311            tonic::Status,
6312        >;
6313        async fn reschedule(
6314            &self,
6315            request: tonic::Request<super::RescheduleRequest>,
6316        ) -> std::result::Result<
6317            tonic::Response<super::RescheduleResponse>,
6318            tonic::Status,
6319        >;
6320        async fn update_streaming_job_node_labels(
6321            &self,
6322            request: tonic::Request<super::UpdateStreamingJobNodeLabelsRequest>,
6323        ) -> std::result::Result<
6324            tonic::Response<super::UpdateStreamingJobNodeLabelsResponse>,
6325            tonic::Status,
6326        >;
6327        async fn get_serverless_streaming_jobs_status(
6328            &self,
6329            request: tonic::Request<super::GetServerlessStreamingJobsStatusRequest>,
6330        ) -> std::result::Result<
6331            tonic::Response<super::GetServerlessStreamingJobsStatusResponse>,
6332            tonic::Status,
6333        >;
6334    }
6335    /// This is used by `risectl`
6336    #[derive(Debug)]
6337    pub struct ScaleServiceServer<T> {
6338        inner: Arc<T>,
6339        accept_compression_encodings: EnabledCompressionEncodings,
6340        send_compression_encodings: EnabledCompressionEncodings,
6341        max_decoding_message_size: Option<usize>,
6342        max_encoding_message_size: Option<usize>,
6343    }
6344    impl<T> ScaleServiceServer<T> {
6345        pub fn new(inner: T) -> Self {
6346            Self::from_arc(Arc::new(inner))
6347        }
6348        pub fn from_arc(inner: Arc<T>) -> Self {
6349            Self {
6350                inner,
6351                accept_compression_encodings: Default::default(),
6352                send_compression_encodings: Default::default(),
6353                max_decoding_message_size: None,
6354                max_encoding_message_size: None,
6355            }
6356        }
6357        pub fn with_interceptor<F>(
6358            inner: T,
6359            interceptor: F,
6360        ) -> InterceptedService<Self, F>
6361        where
6362            F: tonic::service::Interceptor,
6363        {
6364            InterceptedService::new(Self::new(inner), interceptor)
6365        }
6366        /// Enable decompressing requests with the given encoding.
6367        #[must_use]
6368        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
6369            self.accept_compression_encodings.enable(encoding);
6370            self
6371        }
6372        /// Compress responses with the given encoding, if the client supports it.
6373        #[must_use]
6374        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
6375            self.send_compression_encodings.enable(encoding);
6376            self
6377        }
6378        /// Limits the maximum size of a decoded message.
6379        ///
6380        /// Default: `4MB`
6381        #[must_use]
6382        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
6383            self.max_decoding_message_size = Some(limit);
6384            self
6385        }
6386        /// Limits the maximum size of an encoded message.
6387        ///
6388        /// Default: `usize::MAX`
6389        #[must_use]
6390        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
6391            self.max_encoding_message_size = Some(limit);
6392            self
6393        }
6394    }
6395    impl<T, B> tonic::codegen::Service<http::Request<B>> for ScaleServiceServer<T>
6396    where
6397        T: ScaleService,
6398        B: Body + std::marker::Send + 'static,
6399        B::Error: Into<StdError> + std::marker::Send + 'static,
6400    {
6401        type Response = http::Response<tonic::body::BoxBody>;
6402        type Error = std::convert::Infallible;
6403        type Future = BoxFuture<Self::Response, Self::Error>;
6404        fn poll_ready(
6405            &mut self,
6406            _cx: &mut Context<'_>,
6407        ) -> Poll<std::result::Result<(), Self::Error>> {
6408            Poll::Ready(Ok(()))
6409        }
6410        fn call(&mut self, req: http::Request<B>) -> Self::Future {
6411            match req.uri().path() {
6412                "/meta.ScaleService/GetClusterInfo" => {
6413                    #[allow(non_camel_case_types)]
6414                    struct GetClusterInfoSvc<T: ScaleService>(pub Arc<T>);
6415                    impl<
6416                        T: ScaleService,
6417                    > tonic::server::UnaryService<super::GetClusterInfoRequest>
6418                    for GetClusterInfoSvc<T> {
6419                        type Response = super::GetClusterInfoResponse;
6420                        type Future = BoxFuture<
6421                            tonic::Response<Self::Response>,
6422                            tonic::Status,
6423                        >;
6424                        fn call(
6425                            &mut self,
6426                            request: tonic::Request<super::GetClusterInfoRequest>,
6427                        ) -> Self::Future {
6428                            let inner = Arc::clone(&self.0);
6429                            let fut = async move {
6430                                <T as ScaleService>::get_cluster_info(&inner, request).await
6431                            };
6432                            Box::pin(fut)
6433                        }
6434                    }
6435                    let accept_compression_encodings = self.accept_compression_encodings;
6436                    let send_compression_encodings = self.send_compression_encodings;
6437                    let max_decoding_message_size = self.max_decoding_message_size;
6438                    let max_encoding_message_size = self.max_encoding_message_size;
6439                    let inner = self.inner.clone();
6440                    let fut = async move {
6441                        let method = GetClusterInfoSvc(inner);
6442                        let codec = tonic::codec::ProstCodec::default();
6443                        let mut grpc = tonic::server::Grpc::new(codec)
6444                            .apply_compression_config(
6445                                accept_compression_encodings,
6446                                send_compression_encodings,
6447                            )
6448                            .apply_max_message_size_config(
6449                                max_decoding_message_size,
6450                                max_encoding_message_size,
6451                            );
6452                        let res = grpc.unary(method, req).await;
6453                        Ok(res)
6454                    };
6455                    Box::pin(fut)
6456                }
6457                "/meta.ScaleService/Reschedule" => {
6458                    #[allow(non_camel_case_types)]
6459                    struct RescheduleSvc<T: ScaleService>(pub Arc<T>);
6460                    impl<
6461                        T: ScaleService,
6462                    > tonic::server::UnaryService<super::RescheduleRequest>
6463                    for RescheduleSvc<T> {
6464                        type Response = super::RescheduleResponse;
6465                        type Future = BoxFuture<
6466                            tonic::Response<Self::Response>,
6467                            tonic::Status,
6468                        >;
6469                        fn call(
6470                            &mut self,
6471                            request: tonic::Request<super::RescheduleRequest>,
6472                        ) -> Self::Future {
6473                            let inner = Arc::clone(&self.0);
6474                            let fut = async move {
6475                                <T as ScaleService>::reschedule(&inner, request).await
6476                            };
6477                            Box::pin(fut)
6478                        }
6479                    }
6480                    let accept_compression_encodings = self.accept_compression_encodings;
6481                    let send_compression_encodings = self.send_compression_encodings;
6482                    let max_decoding_message_size = self.max_decoding_message_size;
6483                    let max_encoding_message_size = self.max_encoding_message_size;
6484                    let inner = self.inner.clone();
6485                    let fut = async move {
6486                        let method = RescheduleSvc(inner);
6487                        let codec = tonic::codec::ProstCodec::default();
6488                        let mut grpc = tonic::server::Grpc::new(codec)
6489                            .apply_compression_config(
6490                                accept_compression_encodings,
6491                                send_compression_encodings,
6492                            )
6493                            .apply_max_message_size_config(
6494                                max_decoding_message_size,
6495                                max_encoding_message_size,
6496                            );
6497                        let res = grpc.unary(method, req).await;
6498                        Ok(res)
6499                    };
6500                    Box::pin(fut)
6501                }
6502                "/meta.ScaleService/UpdateStreamingJobNodeLabels" => {
6503                    #[allow(non_camel_case_types)]
6504                    struct UpdateStreamingJobNodeLabelsSvc<T: ScaleService>(pub Arc<T>);
6505                    impl<
6506                        T: ScaleService,
6507                    > tonic::server::UnaryService<
6508                        super::UpdateStreamingJobNodeLabelsRequest,
6509                    > for UpdateStreamingJobNodeLabelsSvc<T> {
6510                        type Response = super::UpdateStreamingJobNodeLabelsResponse;
6511                        type Future = BoxFuture<
6512                            tonic::Response<Self::Response>,
6513                            tonic::Status,
6514                        >;
6515                        fn call(
6516                            &mut self,
6517                            request: tonic::Request<
6518                                super::UpdateStreamingJobNodeLabelsRequest,
6519                            >,
6520                        ) -> Self::Future {
6521                            let inner = Arc::clone(&self.0);
6522                            let fut = async move {
6523                                <T as ScaleService>::update_streaming_job_node_labels(
6524                                        &inner,
6525                                        request,
6526                                    )
6527                                    .await
6528                            };
6529                            Box::pin(fut)
6530                        }
6531                    }
6532                    let accept_compression_encodings = self.accept_compression_encodings;
6533                    let send_compression_encodings = self.send_compression_encodings;
6534                    let max_decoding_message_size = self.max_decoding_message_size;
6535                    let max_encoding_message_size = self.max_encoding_message_size;
6536                    let inner = self.inner.clone();
6537                    let fut = async move {
6538                        let method = UpdateStreamingJobNodeLabelsSvc(inner);
6539                        let codec = tonic::codec::ProstCodec::default();
6540                        let mut grpc = tonic::server::Grpc::new(codec)
6541                            .apply_compression_config(
6542                                accept_compression_encodings,
6543                                send_compression_encodings,
6544                            )
6545                            .apply_max_message_size_config(
6546                                max_decoding_message_size,
6547                                max_encoding_message_size,
6548                            );
6549                        let res = grpc.unary(method, req).await;
6550                        Ok(res)
6551                    };
6552                    Box::pin(fut)
6553                }
6554                "/meta.ScaleService/GetServerlessStreamingJobsStatus" => {
6555                    #[allow(non_camel_case_types)]
6556                    struct GetServerlessStreamingJobsStatusSvc<T: ScaleService>(
6557                        pub Arc<T>,
6558                    );
6559                    impl<
6560                        T: ScaleService,
6561                    > tonic::server::UnaryService<
6562                        super::GetServerlessStreamingJobsStatusRequest,
6563                    > for GetServerlessStreamingJobsStatusSvc<T> {
6564                        type Response = super::GetServerlessStreamingJobsStatusResponse;
6565                        type Future = BoxFuture<
6566                            tonic::Response<Self::Response>,
6567                            tonic::Status,
6568                        >;
6569                        fn call(
6570                            &mut self,
6571                            request: tonic::Request<
6572                                super::GetServerlessStreamingJobsStatusRequest,
6573                            >,
6574                        ) -> Self::Future {
6575                            let inner = Arc::clone(&self.0);
6576                            let fut = async move {
6577                                <T as ScaleService>::get_serverless_streaming_jobs_status(
6578                                        &inner,
6579                                        request,
6580                                    )
6581                                    .await
6582                            };
6583                            Box::pin(fut)
6584                        }
6585                    }
6586                    let accept_compression_encodings = self.accept_compression_encodings;
6587                    let send_compression_encodings = self.send_compression_encodings;
6588                    let max_decoding_message_size = self.max_decoding_message_size;
6589                    let max_encoding_message_size = self.max_encoding_message_size;
6590                    let inner = self.inner.clone();
6591                    let fut = async move {
6592                        let method = GetServerlessStreamingJobsStatusSvc(inner);
6593                        let codec = tonic::codec::ProstCodec::default();
6594                        let mut grpc = tonic::server::Grpc::new(codec)
6595                            .apply_compression_config(
6596                                accept_compression_encodings,
6597                                send_compression_encodings,
6598                            )
6599                            .apply_max_message_size_config(
6600                                max_decoding_message_size,
6601                                max_encoding_message_size,
6602                            );
6603                        let res = grpc.unary(method, req).await;
6604                        Ok(res)
6605                    };
6606                    Box::pin(fut)
6607                }
6608                _ => {
6609                    Box::pin(async move {
6610                        let mut response = http::Response::new(empty_body());
6611                        let headers = response.headers_mut();
6612                        headers
6613                            .insert(
6614                                tonic::Status::GRPC_STATUS,
6615                                (tonic::Code::Unimplemented as i32).into(),
6616                            );
6617                        headers
6618                            .insert(
6619                                http::header::CONTENT_TYPE,
6620                                tonic::metadata::GRPC_CONTENT_TYPE,
6621                            );
6622                        Ok(response)
6623                    })
6624                }
6625            }
6626        }
6627    }
6628    impl<T> Clone for ScaleServiceServer<T> {
6629        fn clone(&self) -> Self {
6630            let inner = self.inner.clone();
6631            Self {
6632                inner,
6633                accept_compression_encodings: self.accept_compression_encodings,
6634                send_compression_encodings: self.send_compression_encodings,
6635                max_decoding_message_size: self.max_decoding_message_size,
6636                max_encoding_message_size: self.max_encoding_message_size,
6637            }
6638        }
6639    }
6640    /// Generated gRPC service name
6641    pub const SERVICE_NAME: &str = "meta.ScaleService";
6642    impl<T> tonic::server::NamedService for ScaleServiceServer<T> {
6643        const NAME: &'static str = SERVICE_NAME;
6644    }
6645}
6646/// Generated server implementations.
6647pub mod meta_member_service_server {
6648    #![allow(
6649        unused_variables,
6650        dead_code,
6651        missing_docs,
6652        clippy::wildcard_imports,
6653        clippy::let_unit_value,
6654    )]
6655    use tonic::codegen::*;
6656    /// Generated trait containing gRPC methods that should be implemented for use with MetaMemberServiceServer.
6657    #[async_trait]
6658    pub trait MetaMemberService: std::marker::Send + std::marker::Sync + 'static {
6659        async fn members(
6660            &self,
6661            request: tonic::Request<super::MembersRequest>,
6662        ) -> std::result::Result<tonic::Response<super::MembersResponse>, tonic::Status>;
6663    }
6664    #[derive(Debug)]
6665    pub struct MetaMemberServiceServer<T> {
6666        inner: Arc<T>,
6667        accept_compression_encodings: EnabledCompressionEncodings,
6668        send_compression_encodings: EnabledCompressionEncodings,
6669        max_decoding_message_size: Option<usize>,
6670        max_encoding_message_size: Option<usize>,
6671    }
6672    impl<T> MetaMemberServiceServer<T> {
6673        pub fn new(inner: T) -> Self {
6674            Self::from_arc(Arc::new(inner))
6675        }
6676        pub fn from_arc(inner: Arc<T>) -> Self {
6677            Self {
6678                inner,
6679                accept_compression_encodings: Default::default(),
6680                send_compression_encodings: Default::default(),
6681                max_decoding_message_size: None,
6682                max_encoding_message_size: None,
6683            }
6684        }
6685        pub fn with_interceptor<F>(
6686            inner: T,
6687            interceptor: F,
6688        ) -> InterceptedService<Self, F>
6689        where
6690            F: tonic::service::Interceptor,
6691        {
6692            InterceptedService::new(Self::new(inner), interceptor)
6693        }
6694        /// Enable decompressing requests with the given encoding.
6695        #[must_use]
6696        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
6697            self.accept_compression_encodings.enable(encoding);
6698            self
6699        }
6700        /// Compress responses with the given encoding, if the client supports it.
6701        #[must_use]
6702        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
6703            self.send_compression_encodings.enable(encoding);
6704            self
6705        }
6706        /// Limits the maximum size of a decoded message.
6707        ///
6708        /// Default: `4MB`
6709        #[must_use]
6710        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
6711            self.max_decoding_message_size = Some(limit);
6712            self
6713        }
6714        /// Limits the maximum size of an encoded message.
6715        ///
6716        /// Default: `usize::MAX`
6717        #[must_use]
6718        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
6719            self.max_encoding_message_size = Some(limit);
6720            self
6721        }
6722    }
6723    impl<T, B> tonic::codegen::Service<http::Request<B>> for MetaMemberServiceServer<T>
6724    where
6725        T: MetaMemberService,
6726        B: Body + std::marker::Send + 'static,
6727        B::Error: Into<StdError> + std::marker::Send + 'static,
6728    {
6729        type Response = http::Response<tonic::body::BoxBody>;
6730        type Error = std::convert::Infallible;
6731        type Future = BoxFuture<Self::Response, Self::Error>;
6732        fn poll_ready(
6733            &mut self,
6734            _cx: &mut Context<'_>,
6735        ) -> Poll<std::result::Result<(), Self::Error>> {
6736            Poll::Ready(Ok(()))
6737        }
6738        fn call(&mut self, req: http::Request<B>) -> Self::Future {
6739            match req.uri().path() {
6740                "/meta.MetaMemberService/Members" => {
6741                    #[allow(non_camel_case_types)]
6742                    struct MembersSvc<T: MetaMemberService>(pub Arc<T>);
6743                    impl<
6744                        T: MetaMemberService,
6745                    > tonic::server::UnaryService<super::MembersRequest>
6746                    for MembersSvc<T> {
6747                        type Response = super::MembersResponse;
6748                        type Future = BoxFuture<
6749                            tonic::Response<Self::Response>,
6750                            tonic::Status,
6751                        >;
6752                        fn call(
6753                            &mut self,
6754                            request: tonic::Request<super::MembersRequest>,
6755                        ) -> Self::Future {
6756                            let inner = Arc::clone(&self.0);
6757                            let fut = async move {
6758                                <T as MetaMemberService>::members(&inner, request).await
6759                            };
6760                            Box::pin(fut)
6761                        }
6762                    }
6763                    let accept_compression_encodings = self.accept_compression_encodings;
6764                    let send_compression_encodings = self.send_compression_encodings;
6765                    let max_decoding_message_size = self.max_decoding_message_size;
6766                    let max_encoding_message_size = self.max_encoding_message_size;
6767                    let inner = self.inner.clone();
6768                    let fut = async move {
6769                        let method = MembersSvc(inner);
6770                        let codec = tonic::codec::ProstCodec::default();
6771                        let mut grpc = tonic::server::Grpc::new(codec)
6772                            .apply_compression_config(
6773                                accept_compression_encodings,
6774                                send_compression_encodings,
6775                            )
6776                            .apply_max_message_size_config(
6777                                max_decoding_message_size,
6778                                max_encoding_message_size,
6779                            );
6780                        let res = grpc.unary(method, req).await;
6781                        Ok(res)
6782                    };
6783                    Box::pin(fut)
6784                }
6785                _ => {
6786                    Box::pin(async move {
6787                        let mut response = http::Response::new(empty_body());
6788                        let headers = response.headers_mut();
6789                        headers
6790                            .insert(
6791                                tonic::Status::GRPC_STATUS,
6792                                (tonic::Code::Unimplemented as i32).into(),
6793                            );
6794                        headers
6795                            .insert(
6796                                http::header::CONTENT_TYPE,
6797                                tonic::metadata::GRPC_CONTENT_TYPE,
6798                            );
6799                        Ok(response)
6800                    })
6801                }
6802            }
6803        }
6804    }
6805    impl<T> Clone for MetaMemberServiceServer<T> {
6806        fn clone(&self) -> Self {
6807            let inner = self.inner.clone();
6808            Self {
6809                inner,
6810                accept_compression_encodings: self.accept_compression_encodings,
6811                send_compression_encodings: self.send_compression_encodings,
6812                max_decoding_message_size: self.max_decoding_message_size,
6813                max_encoding_message_size: self.max_encoding_message_size,
6814            }
6815        }
6816    }
6817    /// Generated gRPC service name
6818    pub const SERVICE_NAME: &str = "meta.MetaMemberService";
6819    impl<T> tonic::server::NamedService for MetaMemberServiceServer<T> {
6820        const NAME: &'static str = SERVICE_NAME;
6821    }
6822}
6823/// Generated server implementations.
6824pub mod system_params_service_server {
6825    #![allow(
6826        unused_variables,
6827        dead_code,
6828        missing_docs,
6829        clippy::wildcard_imports,
6830        clippy::let_unit_value,
6831    )]
6832    use tonic::codegen::*;
6833    /// Generated trait containing gRPC methods that should be implemented for use with SystemParamsServiceServer.
6834    #[async_trait]
6835    pub trait SystemParamsService: std::marker::Send + std::marker::Sync + 'static {
6836        async fn get_system_params(
6837            &self,
6838            request: tonic::Request<super::GetSystemParamsRequest>,
6839        ) -> std::result::Result<
6840            tonic::Response<super::GetSystemParamsResponse>,
6841            tonic::Status,
6842        >;
6843        async fn set_system_param(
6844            &self,
6845            request: tonic::Request<super::SetSystemParamRequest>,
6846        ) -> std::result::Result<
6847            tonic::Response<super::SetSystemParamResponse>,
6848            tonic::Status,
6849        >;
6850    }
6851    #[derive(Debug)]
6852    pub struct SystemParamsServiceServer<T> {
6853        inner: Arc<T>,
6854        accept_compression_encodings: EnabledCompressionEncodings,
6855        send_compression_encodings: EnabledCompressionEncodings,
6856        max_decoding_message_size: Option<usize>,
6857        max_encoding_message_size: Option<usize>,
6858    }
6859    impl<T> SystemParamsServiceServer<T> {
6860        pub fn new(inner: T) -> Self {
6861            Self::from_arc(Arc::new(inner))
6862        }
6863        pub fn from_arc(inner: Arc<T>) -> Self {
6864            Self {
6865                inner,
6866                accept_compression_encodings: Default::default(),
6867                send_compression_encodings: Default::default(),
6868                max_decoding_message_size: None,
6869                max_encoding_message_size: None,
6870            }
6871        }
6872        pub fn with_interceptor<F>(
6873            inner: T,
6874            interceptor: F,
6875        ) -> InterceptedService<Self, F>
6876        where
6877            F: tonic::service::Interceptor,
6878        {
6879            InterceptedService::new(Self::new(inner), interceptor)
6880        }
6881        /// Enable decompressing requests with the given encoding.
6882        #[must_use]
6883        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
6884            self.accept_compression_encodings.enable(encoding);
6885            self
6886        }
6887        /// Compress responses with the given encoding, if the client supports it.
6888        #[must_use]
6889        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
6890            self.send_compression_encodings.enable(encoding);
6891            self
6892        }
6893        /// Limits the maximum size of a decoded message.
6894        ///
6895        /// Default: `4MB`
6896        #[must_use]
6897        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
6898            self.max_decoding_message_size = Some(limit);
6899            self
6900        }
6901        /// Limits the maximum size of an encoded message.
6902        ///
6903        /// Default: `usize::MAX`
6904        #[must_use]
6905        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
6906            self.max_encoding_message_size = Some(limit);
6907            self
6908        }
6909    }
6910    impl<T, B> tonic::codegen::Service<http::Request<B>> for SystemParamsServiceServer<T>
6911    where
6912        T: SystemParamsService,
6913        B: Body + std::marker::Send + 'static,
6914        B::Error: Into<StdError> + std::marker::Send + 'static,
6915    {
6916        type Response = http::Response<tonic::body::BoxBody>;
6917        type Error = std::convert::Infallible;
6918        type Future = BoxFuture<Self::Response, Self::Error>;
6919        fn poll_ready(
6920            &mut self,
6921            _cx: &mut Context<'_>,
6922        ) -> Poll<std::result::Result<(), Self::Error>> {
6923            Poll::Ready(Ok(()))
6924        }
6925        fn call(&mut self, req: http::Request<B>) -> Self::Future {
6926            match req.uri().path() {
6927                "/meta.SystemParamsService/GetSystemParams" => {
6928                    #[allow(non_camel_case_types)]
6929                    struct GetSystemParamsSvc<T: SystemParamsService>(pub Arc<T>);
6930                    impl<
6931                        T: SystemParamsService,
6932                    > tonic::server::UnaryService<super::GetSystemParamsRequest>
6933                    for GetSystemParamsSvc<T> {
6934                        type Response = super::GetSystemParamsResponse;
6935                        type Future = BoxFuture<
6936                            tonic::Response<Self::Response>,
6937                            tonic::Status,
6938                        >;
6939                        fn call(
6940                            &mut self,
6941                            request: tonic::Request<super::GetSystemParamsRequest>,
6942                        ) -> Self::Future {
6943                            let inner = Arc::clone(&self.0);
6944                            let fut = async move {
6945                                <T as SystemParamsService>::get_system_params(
6946                                        &inner,
6947                                        request,
6948                                    )
6949                                    .await
6950                            };
6951                            Box::pin(fut)
6952                        }
6953                    }
6954                    let accept_compression_encodings = self.accept_compression_encodings;
6955                    let send_compression_encodings = self.send_compression_encodings;
6956                    let max_decoding_message_size = self.max_decoding_message_size;
6957                    let max_encoding_message_size = self.max_encoding_message_size;
6958                    let inner = self.inner.clone();
6959                    let fut = async move {
6960                        let method = GetSystemParamsSvc(inner);
6961                        let codec = tonic::codec::ProstCodec::default();
6962                        let mut grpc = tonic::server::Grpc::new(codec)
6963                            .apply_compression_config(
6964                                accept_compression_encodings,
6965                                send_compression_encodings,
6966                            )
6967                            .apply_max_message_size_config(
6968                                max_decoding_message_size,
6969                                max_encoding_message_size,
6970                            );
6971                        let res = grpc.unary(method, req).await;
6972                        Ok(res)
6973                    };
6974                    Box::pin(fut)
6975                }
6976                "/meta.SystemParamsService/SetSystemParam" => {
6977                    #[allow(non_camel_case_types)]
6978                    struct SetSystemParamSvc<T: SystemParamsService>(pub Arc<T>);
6979                    impl<
6980                        T: SystemParamsService,
6981                    > tonic::server::UnaryService<super::SetSystemParamRequest>
6982                    for SetSystemParamSvc<T> {
6983                        type Response = super::SetSystemParamResponse;
6984                        type Future = BoxFuture<
6985                            tonic::Response<Self::Response>,
6986                            tonic::Status,
6987                        >;
6988                        fn call(
6989                            &mut self,
6990                            request: tonic::Request<super::SetSystemParamRequest>,
6991                        ) -> Self::Future {
6992                            let inner = Arc::clone(&self.0);
6993                            let fut = async move {
6994                                <T as SystemParamsService>::set_system_param(
6995                                        &inner,
6996                                        request,
6997                                    )
6998                                    .await
6999                            };
7000                            Box::pin(fut)
7001                        }
7002                    }
7003                    let accept_compression_encodings = self.accept_compression_encodings;
7004                    let send_compression_encodings = self.send_compression_encodings;
7005                    let max_decoding_message_size = self.max_decoding_message_size;
7006                    let max_encoding_message_size = self.max_encoding_message_size;
7007                    let inner = self.inner.clone();
7008                    let fut = async move {
7009                        let method = SetSystemParamSvc(inner);
7010                        let codec = tonic::codec::ProstCodec::default();
7011                        let mut grpc = tonic::server::Grpc::new(codec)
7012                            .apply_compression_config(
7013                                accept_compression_encodings,
7014                                send_compression_encodings,
7015                            )
7016                            .apply_max_message_size_config(
7017                                max_decoding_message_size,
7018                                max_encoding_message_size,
7019                            );
7020                        let res = grpc.unary(method, req).await;
7021                        Ok(res)
7022                    };
7023                    Box::pin(fut)
7024                }
7025                _ => {
7026                    Box::pin(async move {
7027                        let mut response = http::Response::new(empty_body());
7028                        let headers = response.headers_mut();
7029                        headers
7030                            .insert(
7031                                tonic::Status::GRPC_STATUS,
7032                                (tonic::Code::Unimplemented as i32).into(),
7033                            );
7034                        headers
7035                            .insert(
7036                                http::header::CONTENT_TYPE,
7037                                tonic::metadata::GRPC_CONTENT_TYPE,
7038                            );
7039                        Ok(response)
7040                    })
7041                }
7042            }
7043        }
7044    }
7045    impl<T> Clone for SystemParamsServiceServer<T> {
7046        fn clone(&self) -> Self {
7047            let inner = self.inner.clone();
7048            Self {
7049                inner,
7050                accept_compression_encodings: self.accept_compression_encodings,
7051                send_compression_encodings: self.send_compression_encodings,
7052                max_decoding_message_size: self.max_decoding_message_size,
7053                max_encoding_message_size: self.max_encoding_message_size,
7054            }
7055        }
7056    }
7057    /// Generated gRPC service name
7058    pub const SERVICE_NAME: &str = "meta.SystemParamsService";
7059    impl<T> tonic::server::NamedService for SystemParamsServiceServer<T> {
7060        const NAME: &'static str = SERVICE_NAME;
7061    }
7062}
7063/// Generated server implementations.
7064pub mod session_param_service_server {
7065    #![allow(
7066        unused_variables,
7067        dead_code,
7068        missing_docs,
7069        clippy::wildcard_imports,
7070        clippy::let_unit_value,
7071    )]
7072    use tonic::codegen::*;
7073    /// Generated trait containing gRPC methods that should be implemented for use with SessionParamServiceServer.
7074    #[async_trait]
7075    pub trait SessionParamService: std::marker::Send + std::marker::Sync + 'static {
7076        async fn get_session_params(
7077            &self,
7078            request: tonic::Request<super::GetSessionParamsRequest>,
7079        ) -> std::result::Result<
7080            tonic::Response<super::GetSessionParamsResponse>,
7081            tonic::Status,
7082        >;
7083        async fn set_session_param(
7084            &self,
7085            request: tonic::Request<super::SetSessionParamRequest>,
7086        ) -> std::result::Result<
7087            tonic::Response<super::SetSessionParamResponse>,
7088            tonic::Status,
7089        >;
7090    }
7091    /// Used for alter system wide default parameters
7092    #[derive(Debug)]
7093    pub struct SessionParamServiceServer<T> {
7094        inner: Arc<T>,
7095        accept_compression_encodings: EnabledCompressionEncodings,
7096        send_compression_encodings: EnabledCompressionEncodings,
7097        max_decoding_message_size: Option<usize>,
7098        max_encoding_message_size: Option<usize>,
7099    }
7100    impl<T> SessionParamServiceServer<T> {
7101        pub fn new(inner: T) -> Self {
7102            Self::from_arc(Arc::new(inner))
7103        }
7104        pub fn from_arc(inner: Arc<T>) -> Self {
7105            Self {
7106                inner,
7107                accept_compression_encodings: Default::default(),
7108                send_compression_encodings: Default::default(),
7109                max_decoding_message_size: None,
7110                max_encoding_message_size: None,
7111            }
7112        }
7113        pub fn with_interceptor<F>(
7114            inner: T,
7115            interceptor: F,
7116        ) -> InterceptedService<Self, F>
7117        where
7118            F: tonic::service::Interceptor,
7119        {
7120            InterceptedService::new(Self::new(inner), interceptor)
7121        }
7122        /// Enable decompressing requests with the given encoding.
7123        #[must_use]
7124        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
7125            self.accept_compression_encodings.enable(encoding);
7126            self
7127        }
7128        /// Compress responses with the given encoding, if the client supports it.
7129        #[must_use]
7130        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
7131            self.send_compression_encodings.enable(encoding);
7132            self
7133        }
7134        /// Limits the maximum size of a decoded message.
7135        ///
7136        /// Default: `4MB`
7137        #[must_use]
7138        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
7139            self.max_decoding_message_size = Some(limit);
7140            self
7141        }
7142        /// Limits the maximum size of an encoded message.
7143        ///
7144        /// Default: `usize::MAX`
7145        #[must_use]
7146        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
7147            self.max_encoding_message_size = Some(limit);
7148            self
7149        }
7150    }
7151    impl<T, B> tonic::codegen::Service<http::Request<B>> for SessionParamServiceServer<T>
7152    where
7153        T: SessionParamService,
7154        B: Body + std::marker::Send + 'static,
7155        B::Error: Into<StdError> + std::marker::Send + 'static,
7156    {
7157        type Response = http::Response<tonic::body::BoxBody>;
7158        type Error = std::convert::Infallible;
7159        type Future = BoxFuture<Self::Response, Self::Error>;
7160        fn poll_ready(
7161            &mut self,
7162            _cx: &mut Context<'_>,
7163        ) -> Poll<std::result::Result<(), Self::Error>> {
7164            Poll::Ready(Ok(()))
7165        }
7166        fn call(&mut self, req: http::Request<B>) -> Self::Future {
7167            match req.uri().path() {
7168                "/meta.SessionParamService/GetSessionParams" => {
7169                    #[allow(non_camel_case_types)]
7170                    struct GetSessionParamsSvc<T: SessionParamService>(pub Arc<T>);
7171                    impl<
7172                        T: SessionParamService,
7173                    > tonic::server::UnaryService<super::GetSessionParamsRequest>
7174                    for GetSessionParamsSvc<T> {
7175                        type Response = super::GetSessionParamsResponse;
7176                        type Future = BoxFuture<
7177                            tonic::Response<Self::Response>,
7178                            tonic::Status,
7179                        >;
7180                        fn call(
7181                            &mut self,
7182                            request: tonic::Request<super::GetSessionParamsRequest>,
7183                        ) -> Self::Future {
7184                            let inner = Arc::clone(&self.0);
7185                            let fut = async move {
7186                                <T as SessionParamService>::get_session_params(
7187                                        &inner,
7188                                        request,
7189                                    )
7190                                    .await
7191                            };
7192                            Box::pin(fut)
7193                        }
7194                    }
7195                    let accept_compression_encodings = self.accept_compression_encodings;
7196                    let send_compression_encodings = self.send_compression_encodings;
7197                    let max_decoding_message_size = self.max_decoding_message_size;
7198                    let max_encoding_message_size = self.max_encoding_message_size;
7199                    let inner = self.inner.clone();
7200                    let fut = async move {
7201                        let method = GetSessionParamsSvc(inner);
7202                        let codec = tonic::codec::ProstCodec::default();
7203                        let mut grpc = tonic::server::Grpc::new(codec)
7204                            .apply_compression_config(
7205                                accept_compression_encodings,
7206                                send_compression_encodings,
7207                            )
7208                            .apply_max_message_size_config(
7209                                max_decoding_message_size,
7210                                max_encoding_message_size,
7211                            );
7212                        let res = grpc.unary(method, req).await;
7213                        Ok(res)
7214                    };
7215                    Box::pin(fut)
7216                }
7217                "/meta.SessionParamService/SetSessionParam" => {
7218                    #[allow(non_camel_case_types)]
7219                    struct SetSessionParamSvc<T: SessionParamService>(pub Arc<T>);
7220                    impl<
7221                        T: SessionParamService,
7222                    > tonic::server::UnaryService<super::SetSessionParamRequest>
7223                    for SetSessionParamSvc<T> {
7224                        type Response = super::SetSessionParamResponse;
7225                        type Future = BoxFuture<
7226                            tonic::Response<Self::Response>,
7227                            tonic::Status,
7228                        >;
7229                        fn call(
7230                            &mut self,
7231                            request: tonic::Request<super::SetSessionParamRequest>,
7232                        ) -> Self::Future {
7233                            let inner = Arc::clone(&self.0);
7234                            let fut = async move {
7235                                <T as SessionParamService>::set_session_param(
7236                                        &inner,
7237                                        request,
7238                                    )
7239                                    .await
7240                            };
7241                            Box::pin(fut)
7242                        }
7243                    }
7244                    let accept_compression_encodings = self.accept_compression_encodings;
7245                    let send_compression_encodings = self.send_compression_encodings;
7246                    let max_decoding_message_size = self.max_decoding_message_size;
7247                    let max_encoding_message_size = self.max_encoding_message_size;
7248                    let inner = self.inner.clone();
7249                    let fut = async move {
7250                        let method = SetSessionParamSvc(inner);
7251                        let codec = tonic::codec::ProstCodec::default();
7252                        let mut grpc = tonic::server::Grpc::new(codec)
7253                            .apply_compression_config(
7254                                accept_compression_encodings,
7255                                send_compression_encodings,
7256                            )
7257                            .apply_max_message_size_config(
7258                                max_decoding_message_size,
7259                                max_encoding_message_size,
7260                            );
7261                        let res = grpc.unary(method, req).await;
7262                        Ok(res)
7263                    };
7264                    Box::pin(fut)
7265                }
7266                _ => {
7267                    Box::pin(async move {
7268                        let mut response = http::Response::new(empty_body());
7269                        let headers = response.headers_mut();
7270                        headers
7271                            .insert(
7272                                tonic::Status::GRPC_STATUS,
7273                                (tonic::Code::Unimplemented as i32).into(),
7274                            );
7275                        headers
7276                            .insert(
7277                                http::header::CONTENT_TYPE,
7278                                tonic::metadata::GRPC_CONTENT_TYPE,
7279                            );
7280                        Ok(response)
7281                    })
7282                }
7283            }
7284        }
7285    }
7286    impl<T> Clone for SessionParamServiceServer<T> {
7287        fn clone(&self) -> Self {
7288            let inner = self.inner.clone();
7289            Self {
7290                inner,
7291                accept_compression_encodings: self.accept_compression_encodings,
7292                send_compression_encodings: self.send_compression_encodings,
7293                max_decoding_message_size: self.max_decoding_message_size,
7294                max_encoding_message_size: self.max_encoding_message_size,
7295            }
7296        }
7297    }
7298    /// Generated gRPC service name
7299    pub const SERVICE_NAME: &str = "meta.SessionParamService";
7300    impl<T> tonic::server::NamedService for SessionParamServiceServer<T> {
7301        const NAME: &'static str = SERVICE_NAME;
7302    }
7303}
7304/// Generated server implementations.
7305pub mod serving_service_server {
7306    #![allow(
7307        unused_variables,
7308        dead_code,
7309        missing_docs,
7310        clippy::wildcard_imports,
7311        clippy::let_unit_value,
7312    )]
7313    use tonic::codegen::*;
7314    /// Generated trait containing gRPC methods that should be implemented for use with ServingServiceServer.
7315    #[async_trait]
7316    pub trait ServingService: std::marker::Send + std::marker::Sync + 'static {
7317        async fn get_serving_vnode_mappings(
7318            &self,
7319            request: tonic::Request<super::GetServingVnodeMappingsRequest>,
7320        ) -> std::result::Result<
7321            tonic::Response<super::GetServingVnodeMappingsResponse>,
7322            tonic::Status,
7323        >;
7324    }
7325    #[derive(Debug)]
7326    pub struct ServingServiceServer<T> {
7327        inner: Arc<T>,
7328        accept_compression_encodings: EnabledCompressionEncodings,
7329        send_compression_encodings: EnabledCompressionEncodings,
7330        max_decoding_message_size: Option<usize>,
7331        max_encoding_message_size: Option<usize>,
7332    }
7333    impl<T> ServingServiceServer<T> {
7334        pub fn new(inner: T) -> Self {
7335            Self::from_arc(Arc::new(inner))
7336        }
7337        pub fn from_arc(inner: Arc<T>) -> Self {
7338            Self {
7339                inner,
7340                accept_compression_encodings: Default::default(),
7341                send_compression_encodings: Default::default(),
7342                max_decoding_message_size: None,
7343                max_encoding_message_size: None,
7344            }
7345        }
7346        pub fn with_interceptor<F>(
7347            inner: T,
7348            interceptor: F,
7349        ) -> InterceptedService<Self, F>
7350        where
7351            F: tonic::service::Interceptor,
7352        {
7353            InterceptedService::new(Self::new(inner), interceptor)
7354        }
7355        /// Enable decompressing requests with the given encoding.
7356        #[must_use]
7357        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
7358            self.accept_compression_encodings.enable(encoding);
7359            self
7360        }
7361        /// Compress responses with the given encoding, if the client supports it.
7362        #[must_use]
7363        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
7364            self.send_compression_encodings.enable(encoding);
7365            self
7366        }
7367        /// Limits the maximum size of a decoded message.
7368        ///
7369        /// Default: `4MB`
7370        #[must_use]
7371        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
7372            self.max_decoding_message_size = Some(limit);
7373            self
7374        }
7375        /// Limits the maximum size of an encoded message.
7376        ///
7377        /// Default: `usize::MAX`
7378        #[must_use]
7379        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
7380            self.max_encoding_message_size = Some(limit);
7381            self
7382        }
7383    }
7384    impl<T, B> tonic::codegen::Service<http::Request<B>> for ServingServiceServer<T>
7385    where
7386        T: ServingService,
7387        B: Body + std::marker::Send + 'static,
7388        B::Error: Into<StdError> + std::marker::Send + 'static,
7389    {
7390        type Response = http::Response<tonic::body::BoxBody>;
7391        type Error = std::convert::Infallible;
7392        type Future = BoxFuture<Self::Response, Self::Error>;
7393        fn poll_ready(
7394            &mut self,
7395            _cx: &mut Context<'_>,
7396        ) -> Poll<std::result::Result<(), Self::Error>> {
7397            Poll::Ready(Ok(()))
7398        }
7399        fn call(&mut self, req: http::Request<B>) -> Self::Future {
7400            match req.uri().path() {
7401                "/meta.ServingService/GetServingVnodeMappings" => {
7402                    #[allow(non_camel_case_types)]
7403                    struct GetServingVnodeMappingsSvc<T: ServingService>(pub Arc<T>);
7404                    impl<
7405                        T: ServingService,
7406                    > tonic::server::UnaryService<super::GetServingVnodeMappingsRequest>
7407                    for GetServingVnodeMappingsSvc<T> {
7408                        type Response = super::GetServingVnodeMappingsResponse;
7409                        type Future = BoxFuture<
7410                            tonic::Response<Self::Response>,
7411                            tonic::Status,
7412                        >;
7413                        fn call(
7414                            &mut self,
7415                            request: tonic::Request<
7416                                super::GetServingVnodeMappingsRequest,
7417                            >,
7418                        ) -> Self::Future {
7419                            let inner = Arc::clone(&self.0);
7420                            let fut = async move {
7421                                <T as ServingService>::get_serving_vnode_mappings(
7422                                        &inner,
7423                                        request,
7424                                    )
7425                                    .await
7426                            };
7427                            Box::pin(fut)
7428                        }
7429                    }
7430                    let accept_compression_encodings = self.accept_compression_encodings;
7431                    let send_compression_encodings = self.send_compression_encodings;
7432                    let max_decoding_message_size = self.max_decoding_message_size;
7433                    let max_encoding_message_size = self.max_encoding_message_size;
7434                    let inner = self.inner.clone();
7435                    let fut = async move {
7436                        let method = GetServingVnodeMappingsSvc(inner);
7437                        let codec = tonic::codec::ProstCodec::default();
7438                        let mut grpc = tonic::server::Grpc::new(codec)
7439                            .apply_compression_config(
7440                                accept_compression_encodings,
7441                                send_compression_encodings,
7442                            )
7443                            .apply_max_message_size_config(
7444                                max_decoding_message_size,
7445                                max_encoding_message_size,
7446                            );
7447                        let res = grpc.unary(method, req).await;
7448                        Ok(res)
7449                    };
7450                    Box::pin(fut)
7451                }
7452                _ => {
7453                    Box::pin(async move {
7454                        let mut response = http::Response::new(empty_body());
7455                        let headers = response.headers_mut();
7456                        headers
7457                            .insert(
7458                                tonic::Status::GRPC_STATUS,
7459                                (tonic::Code::Unimplemented as i32).into(),
7460                            );
7461                        headers
7462                            .insert(
7463                                http::header::CONTENT_TYPE,
7464                                tonic::metadata::GRPC_CONTENT_TYPE,
7465                            );
7466                        Ok(response)
7467                    })
7468                }
7469            }
7470        }
7471    }
7472    impl<T> Clone for ServingServiceServer<T> {
7473        fn clone(&self) -> Self {
7474            let inner = self.inner.clone();
7475            Self {
7476                inner,
7477                accept_compression_encodings: self.accept_compression_encodings,
7478                send_compression_encodings: self.send_compression_encodings,
7479                max_decoding_message_size: self.max_decoding_message_size,
7480                max_encoding_message_size: self.max_encoding_message_size,
7481            }
7482        }
7483    }
7484    /// Generated gRPC service name
7485    pub const SERVICE_NAME: &str = "meta.ServingService";
7486    impl<T> tonic::server::NamedService for ServingServiceServer<T> {
7487        const NAME: &'static str = SERVICE_NAME;
7488    }
7489}
7490/// Generated server implementations.
7491pub mod event_log_service_server {
7492    #![allow(
7493        unused_variables,
7494        dead_code,
7495        missing_docs,
7496        clippy::wildcard_imports,
7497        clippy::let_unit_value,
7498    )]
7499    use tonic::codegen::*;
7500    /// Generated trait containing gRPC methods that should be implemented for use with EventLogServiceServer.
7501    #[async_trait]
7502    pub trait EventLogService: std::marker::Send + std::marker::Sync + 'static {
7503        async fn list_event_log(
7504            &self,
7505            request: tonic::Request<super::ListEventLogRequest>,
7506        ) -> std::result::Result<
7507            tonic::Response<super::ListEventLogResponse>,
7508            tonic::Status,
7509        >;
7510        async fn add_event_log(
7511            &self,
7512            request: tonic::Request<super::AddEventLogRequest>,
7513        ) -> std::result::Result<
7514            tonic::Response<super::AddEventLogResponse>,
7515            tonic::Status,
7516        >;
7517    }
7518    #[derive(Debug)]
7519    pub struct EventLogServiceServer<T> {
7520        inner: Arc<T>,
7521        accept_compression_encodings: EnabledCompressionEncodings,
7522        send_compression_encodings: EnabledCompressionEncodings,
7523        max_decoding_message_size: Option<usize>,
7524        max_encoding_message_size: Option<usize>,
7525    }
7526    impl<T> EventLogServiceServer<T> {
7527        pub fn new(inner: T) -> Self {
7528            Self::from_arc(Arc::new(inner))
7529        }
7530        pub fn from_arc(inner: Arc<T>) -> Self {
7531            Self {
7532                inner,
7533                accept_compression_encodings: Default::default(),
7534                send_compression_encodings: Default::default(),
7535                max_decoding_message_size: None,
7536                max_encoding_message_size: None,
7537            }
7538        }
7539        pub fn with_interceptor<F>(
7540            inner: T,
7541            interceptor: F,
7542        ) -> InterceptedService<Self, F>
7543        where
7544            F: tonic::service::Interceptor,
7545        {
7546            InterceptedService::new(Self::new(inner), interceptor)
7547        }
7548        /// Enable decompressing requests with the given encoding.
7549        #[must_use]
7550        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
7551            self.accept_compression_encodings.enable(encoding);
7552            self
7553        }
7554        /// Compress responses with the given encoding, if the client supports it.
7555        #[must_use]
7556        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
7557            self.send_compression_encodings.enable(encoding);
7558            self
7559        }
7560        /// Limits the maximum size of a decoded message.
7561        ///
7562        /// Default: `4MB`
7563        #[must_use]
7564        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
7565            self.max_decoding_message_size = Some(limit);
7566            self
7567        }
7568        /// Limits the maximum size of an encoded message.
7569        ///
7570        /// Default: `usize::MAX`
7571        #[must_use]
7572        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
7573            self.max_encoding_message_size = Some(limit);
7574            self
7575        }
7576    }
7577    impl<T, B> tonic::codegen::Service<http::Request<B>> for EventLogServiceServer<T>
7578    where
7579        T: EventLogService,
7580        B: Body + std::marker::Send + 'static,
7581        B::Error: Into<StdError> + std::marker::Send + 'static,
7582    {
7583        type Response = http::Response<tonic::body::BoxBody>;
7584        type Error = std::convert::Infallible;
7585        type Future = BoxFuture<Self::Response, Self::Error>;
7586        fn poll_ready(
7587            &mut self,
7588            _cx: &mut Context<'_>,
7589        ) -> Poll<std::result::Result<(), Self::Error>> {
7590            Poll::Ready(Ok(()))
7591        }
7592        fn call(&mut self, req: http::Request<B>) -> Self::Future {
7593            match req.uri().path() {
7594                "/meta.EventLogService/ListEventLog" => {
7595                    #[allow(non_camel_case_types)]
7596                    struct ListEventLogSvc<T: EventLogService>(pub Arc<T>);
7597                    impl<
7598                        T: EventLogService,
7599                    > tonic::server::UnaryService<super::ListEventLogRequest>
7600                    for ListEventLogSvc<T> {
7601                        type Response = super::ListEventLogResponse;
7602                        type Future = BoxFuture<
7603                            tonic::Response<Self::Response>,
7604                            tonic::Status,
7605                        >;
7606                        fn call(
7607                            &mut self,
7608                            request: tonic::Request<super::ListEventLogRequest>,
7609                        ) -> Self::Future {
7610                            let inner = Arc::clone(&self.0);
7611                            let fut = async move {
7612                                <T as EventLogService>::list_event_log(&inner, request)
7613                                    .await
7614                            };
7615                            Box::pin(fut)
7616                        }
7617                    }
7618                    let accept_compression_encodings = self.accept_compression_encodings;
7619                    let send_compression_encodings = self.send_compression_encodings;
7620                    let max_decoding_message_size = self.max_decoding_message_size;
7621                    let max_encoding_message_size = self.max_encoding_message_size;
7622                    let inner = self.inner.clone();
7623                    let fut = async move {
7624                        let method = ListEventLogSvc(inner);
7625                        let codec = tonic::codec::ProstCodec::default();
7626                        let mut grpc = tonic::server::Grpc::new(codec)
7627                            .apply_compression_config(
7628                                accept_compression_encodings,
7629                                send_compression_encodings,
7630                            )
7631                            .apply_max_message_size_config(
7632                                max_decoding_message_size,
7633                                max_encoding_message_size,
7634                            );
7635                        let res = grpc.unary(method, req).await;
7636                        Ok(res)
7637                    };
7638                    Box::pin(fut)
7639                }
7640                "/meta.EventLogService/AddEventLog" => {
7641                    #[allow(non_camel_case_types)]
7642                    struct AddEventLogSvc<T: EventLogService>(pub Arc<T>);
7643                    impl<
7644                        T: EventLogService,
7645                    > tonic::server::UnaryService<super::AddEventLogRequest>
7646                    for AddEventLogSvc<T> {
7647                        type Response = super::AddEventLogResponse;
7648                        type Future = BoxFuture<
7649                            tonic::Response<Self::Response>,
7650                            tonic::Status,
7651                        >;
7652                        fn call(
7653                            &mut self,
7654                            request: tonic::Request<super::AddEventLogRequest>,
7655                        ) -> Self::Future {
7656                            let inner = Arc::clone(&self.0);
7657                            let fut = async move {
7658                                <T as EventLogService>::add_event_log(&inner, request).await
7659                            };
7660                            Box::pin(fut)
7661                        }
7662                    }
7663                    let accept_compression_encodings = self.accept_compression_encodings;
7664                    let send_compression_encodings = self.send_compression_encodings;
7665                    let max_decoding_message_size = self.max_decoding_message_size;
7666                    let max_encoding_message_size = self.max_encoding_message_size;
7667                    let inner = self.inner.clone();
7668                    let fut = async move {
7669                        let method = AddEventLogSvc(inner);
7670                        let codec = tonic::codec::ProstCodec::default();
7671                        let mut grpc = tonic::server::Grpc::new(codec)
7672                            .apply_compression_config(
7673                                accept_compression_encodings,
7674                                send_compression_encodings,
7675                            )
7676                            .apply_max_message_size_config(
7677                                max_decoding_message_size,
7678                                max_encoding_message_size,
7679                            );
7680                        let res = grpc.unary(method, req).await;
7681                        Ok(res)
7682                    };
7683                    Box::pin(fut)
7684                }
7685                _ => {
7686                    Box::pin(async move {
7687                        let mut response = http::Response::new(empty_body());
7688                        let headers = response.headers_mut();
7689                        headers
7690                            .insert(
7691                                tonic::Status::GRPC_STATUS,
7692                                (tonic::Code::Unimplemented as i32).into(),
7693                            );
7694                        headers
7695                            .insert(
7696                                http::header::CONTENT_TYPE,
7697                                tonic::metadata::GRPC_CONTENT_TYPE,
7698                            );
7699                        Ok(response)
7700                    })
7701                }
7702            }
7703        }
7704    }
7705    impl<T> Clone for EventLogServiceServer<T> {
7706        fn clone(&self) -> Self {
7707            let inner = self.inner.clone();
7708            Self {
7709                inner,
7710                accept_compression_encodings: self.accept_compression_encodings,
7711                send_compression_encodings: self.send_compression_encodings,
7712                max_decoding_message_size: self.max_decoding_message_size,
7713                max_encoding_message_size: self.max_encoding_message_size,
7714            }
7715        }
7716    }
7717    /// Generated gRPC service name
7718    pub const SERVICE_NAME: &str = "meta.EventLogService";
7719    impl<T> tonic::server::NamedService for EventLogServiceServer<T> {
7720        const NAME: &'static str = SERVICE_NAME;
7721    }
7722}
7723/// Generated server implementations.
7724pub mod cluster_limit_service_server {
7725    #![allow(
7726        unused_variables,
7727        dead_code,
7728        missing_docs,
7729        clippy::wildcard_imports,
7730        clippy::let_unit_value,
7731    )]
7732    use tonic::codegen::*;
7733    /// Generated trait containing gRPC methods that should be implemented for use with ClusterLimitServiceServer.
7734    #[async_trait]
7735    pub trait ClusterLimitService: std::marker::Send + std::marker::Sync + 'static {
7736        async fn get_cluster_limits(
7737            &self,
7738            request: tonic::Request<super::GetClusterLimitsRequest>,
7739        ) -> std::result::Result<
7740            tonic::Response<super::GetClusterLimitsResponse>,
7741            tonic::Status,
7742        >;
7743    }
7744    #[derive(Debug)]
7745    pub struct ClusterLimitServiceServer<T> {
7746        inner: Arc<T>,
7747        accept_compression_encodings: EnabledCompressionEncodings,
7748        send_compression_encodings: EnabledCompressionEncodings,
7749        max_decoding_message_size: Option<usize>,
7750        max_encoding_message_size: Option<usize>,
7751    }
7752    impl<T> ClusterLimitServiceServer<T> {
7753        pub fn new(inner: T) -> Self {
7754            Self::from_arc(Arc::new(inner))
7755        }
7756        pub fn from_arc(inner: Arc<T>) -> Self {
7757            Self {
7758                inner,
7759                accept_compression_encodings: Default::default(),
7760                send_compression_encodings: Default::default(),
7761                max_decoding_message_size: None,
7762                max_encoding_message_size: None,
7763            }
7764        }
7765        pub fn with_interceptor<F>(
7766            inner: T,
7767            interceptor: F,
7768        ) -> InterceptedService<Self, F>
7769        where
7770            F: tonic::service::Interceptor,
7771        {
7772            InterceptedService::new(Self::new(inner), interceptor)
7773        }
7774        /// Enable decompressing requests with the given encoding.
7775        #[must_use]
7776        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
7777            self.accept_compression_encodings.enable(encoding);
7778            self
7779        }
7780        /// Compress responses with the given encoding, if the client supports it.
7781        #[must_use]
7782        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
7783            self.send_compression_encodings.enable(encoding);
7784            self
7785        }
7786        /// Limits the maximum size of a decoded message.
7787        ///
7788        /// Default: `4MB`
7789        #[must_use]
7790        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
7791            self.max_decoding_message_size = Some(limit);
7792            self
7793        }
7794        /// Limits the maximum size of an encoded message.
7795        ///
7796        /// Default: `usize::MAX`
7797        #[must_use]
7798        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
7799            self.max_encoding_message_size = Some(limit);
7800            self
7801        }
7802    }
7803    impl<T, B> tonic::codegen::Service<http::Request<B>> for ClusterLimitServiceServer<T>
7804    where
7805        T: ClusterLimitService,
7806        B: Body + std::marker::Send + 'static,
7807        B::Error: Into<StdError> + std::marker::Send + 'static,
7808    {
7809        type Response = http::Response<tonic::body::BoxBody>;
7810        type Error = std::convert::Infallible;
7811        type Future = BoxFuture<Self::Response, Self::Error>;
7812        fn poll_ready(
7813            &mut self,
7814            _cx: &mut Context<'_>,
7815        ) -> Poll<std::result::Result<(), Self::Error>> {
7816            Poll::Ready(Ok(()))
7817        }
7818        fn call(&mut self, req: http::Request<B>) -> Self::Future {
7819            match req.uri().path() {
7820                "/meta.ClusterLimitService/GetClusterLimits" => {
7821                    #[allow(non_camel_case_types)]
7822                    struct GetClusterLimitsSvc<T: ClusterLimitService>(pub Arc<T>);
7823                    impl<
7824                        T: ClusterLimitService,
7825                    > tonic::server::UnaryService<super::GetClusterLimitsRequest>
7826                    for GetClusterLimitsSvc<T> {
7827                        type Response = super::GetClusterLimitsResponse;
7828                        type Future = BoxFuture<
7829                            tonic::Response<Self::Response>,
7830                            tonic::Status,
7831                        >;
7832                        fn call(
7833                            &mut self,
7834                            request: tonic::Request<super::GetClusterLimitsRequest>,
7835                        ) -> Self::Future {
7836                            let inner = Arc::clone(&self.0);
7837                            let fut = async move {
7838                                <T as ClusterLimitService>::get_cluster_limits(
7839                                        &inner,
7840                                        request,
7841                                    )
7842                                    .await
7843                            };
7844                            Box::pin(fut)
7845                        }
7846                    }
7847                    let accept_compression_encodings = self.accept_compression_encodings;
7848                    let send_compression_encodings = self.send_compression_encodings;
7849                    let max_decoding_message_size = self.max_decoding_message_size;
7850                    let max_encoding_message_size = self.max_encoding_message_size;
7851                    let inner = self.inner.clone();
7852                    let fut = async move {
7853                        let method = GetClusterLimitsSvc(inner);
7854                        let codec = tonic::codec::ProstCodec::default();
7855                        let mut grpc = tonic::server::Grpc::new(codec)
7856                            .apply_compression_config(
7857                                accept_compression_encodings,
7858                                send_compression_encodings,
7859                            )
7860                            .apply_max_message_size_config(
7861                                max_decoding_message_size,
7862                                max_encoding_message_size,
7863                            );
7864                        let res = grpc.unary(method, req).await;
7865                        Ok(res)
7866                    };
7867                    Box::pin(fut)
7868                }
7869                _ => {
7870                    Box::pin(async move {
7871                        let mut response = http::Response::new(empty_body());
7872                        let headers = response.headers_mut();
7873                        headers
7874                            .insert(
7875                                tonic::Status::GRPC_STATUS,
7876                                (tonic::Code::Unimplemented as i32).into(),
7877                            );
7878                        headers
7879                            .insert(
7880                                http::header::CONTENT_TYPE,
7881                                tonic::metadata::GRPC_CONTENT_TYPE,
7882                            );
7883                        Ok(response)
7884                    })
7885                }
7886            }
7887        }
7888    }
7889    impl<T> Clone for ClusterLimitServiceServer<T> {
7890        fn clone(&self) -> Self {
7891            let inner = self.inner.clone();
7892            Self {
7893                inner,
7894                accept_compression_encodings: self.accept_compression_encodings,
7895                send_compression_encodings: self.send_compression_encodings,
7896                max_decoding_message_size: self.max_decoding_message_size,
7897                max_encoding_message_size: self.max_encoding_message_size,
7898            }
7899        }
7900    }
7901    /// Generated gRPC service name
7902    pub const SERVICE_NAME: &str = "meta.ClusterLimitService";
7903    impl<T> tonic::server::NamedService for ClusterLimitServiceServer<T> {
7904        const NAME: &'static str = SERVICE_NAME;
7905    }
7906}
7907/// Generated server implementations.
7908pub mod hosted_iceberg_catalog_service_server {
7909    #![allow(
7910        unused_variables,
7911        dead_code,
7912        missing_docs,
7913        clippy::wildcard_imports,
7914        clippy::let_unit_value,
7915    )]
7916    use tonic::codegen::*;
7917    /// Generated trait containing gRPC methods that should be implemented for use with HostedIcebergCatalogServiceServer.
7918    #[async_trait]
7919    pub trait HostedIcebergCatalogService: std::marker::Send + std::marker::Sync + 'static {
7920        async fn list_iceberg_tables(
7921            &self,
7922            request: tonic::Request<super::ListIcebergTablesRequest>,
7923        ) -> std::result::Result<
7924            tonic::Response<super::ListIcebergTablesResponse>,
7925            tonic::Status,
7926        >;
7927    }
7928    #[derive(Debug)]
7929    pub struct HostedIcebergCatalogServiceServer<T> {
7930        inner: Arc<T>,
7931        accept_compression_encodings: EnabledCompressionEncodings,
7932        send_compression_encodings: EnabledCompressionEncodings,
7933        max_decoding_message_size: Option<usize>,
7934        max_encoding_message_size: Option<usize>,
7935    }
7936    impl<T> HostedIcebergCatalogServiceServer<T> {
7937        pub fn new(inner: T) -> Self {
7938            Self::from_arc(Arc::new(inner))
7939        }
7940        pub fn from_arc(inner: Arc<T>) -> Self {
7941            Self {
7942                inner,
7943                accept_compression_encodings: Default::default(),
7944                send_compression_encodings: Default::default(),
7945                max_decoding_message_size: None,
7946                max_encoding_message_size: None,
7947            }
7948        }
7949        pub fn with_interceptor<F>(
7950            inner: T,
7951            interceptor: F,
7952        ) -> InterceptedService<Self, F>
7953        where
7954            F: tonic::service::Interceptor,
7955        {
7956            InterceptedService::new(Self::new(inner), interceptor)
7957        }
7958        /// Enable decompressing requests with the given encoding.
7959        #[must_use]
7960        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
7961            self.accept_compression_encodings.enable(encoding);
7962            self
7963        }
7964        /// Compress responses with the given encoding, if the client supports it.
7965        #[must_use]
7966        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
7967            self.send_compression_encodings.enable(encoding);
7968            self
7969        }
7970        /// Limits the maximum size of a decoded message.
7971        ///
7972        /// Default: `4MB`
7973        #[must_use]
7974        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
7975            self.max_decoding_message_size = Some(limit);
7976            self
7977        }
7978        /// Limits the maximum size of an encoded message.
7979        ///
7980        /// Default: `usize::MAX`
7981        #[must_use]
7982        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
7983            self.max_encoding_message_size = Some(limit);
7984            self
7985        }
7986    }
7987    impl<T, B> tonic::codegen::Service<http::Request<B>>
7988    for HostedIcebergCatalogServiceServer<T>
7989    where
7990        T: HostedIcebergCatalogService,
7991        B: Body + std::marker::Send + 'static,
7992        B::Error: Into<StdError> + std::marker::Send + 'static,
7993    {
7994        type Response = http::Response<tonic::body::BoxBody>;
7995        type Error = std::convert::Infallible;
7996        type Future = BoxFuture<Self::Response, Self::Error>;
7997        fn poll_ready(
7998            &mut self,
7999            _cx: &mut Context<'_>,
8000        ) -> Poll<std::result::Result<(), Self::Error>> {
8001            Poll::Ready(Ok(()))
8002        }
8003        fn call(&mut self, req: http::Request<B>) -> Self::Future {
8004            match req.uri().path() {
8005                "/meta.HostedIcebergCatalogService/ListIcebergTables" => {
8006                    #[allow(non_camel_case_types)]
8007                    struct ListIcebergTablesSvc<T: HostedIcebergCatalogService>(
8008                        pub Arc<T>,
8009                    );
8010                    impl<
8011                        T: HostedIcebergCatalogService,
8012                    > tonic::server::UnaryService<super::ListIcebergTablesRequest>
8013                    for ListIcebergTablesSvc<T> {
8014                        type Response = super::ListIcebergTablesResponse;
8015                        type Future = BoxFuture<
8016                            tonic::Response<Self::Response>,
8017                            tonic::Status,
8018                        >;
8019                        fn call(
8020                            &mut self,
8021                            request: tonic::Request<super::ListIcebergTablesRequest>,
8022                        ) -> Self::Future {
8023                            let inner = Arc::clone(&self.0);
8024                            let fut = async move {
8025                                <T as HostedIcebergCatalogService>::list_iceberg_tables(
8026                                        &inner,
8027                                        request,
8028                                    )
8029                                    .await
8030                            };
8031                            Box::pin(fut)
8032                        }
8033                    }
8034                    let accept_compression_encodings = self.accept_compression_encodings;
8035                    let send_compression_encodings = self.send_compression_encodings;
8036                    let max_decoding_message_size = self.max_decoding_message_size;
8037                    let max_encoding_message_size = self.max_encoding_message_size;
8038                    let inner = self.inner.clone();
8039                    let fut = async move {
8040                        let method = ListIcebergTablesSvc(inner);
8041                        let codec = tonic::codec::ProstCodec::default();
8042                        let mut grpc = tonic::server::Grpc::new(codec)
8043                            .apply_compression_config(
8044                                accept_compression_encodings,
8045                                send_compression_encodings,
8046                            )
8047                            .apply_max_message_size_config(
8048                                max_decoding_message_size,
8049                                max_encoding_message_size,
8050                            );
8051                        let res = grpc.unary(method, req).await;
8052                        Ok(res)
8053                    };
8054                    Box::pin(fut)
8055                }
8056                _ => {
8057                    Box::pin(async move {
8058                        let mut response = http::Response::new(empty_body());
8059                        let headers = response.headers_mut();
8060                        headers
8061                            .insert(
8062                                tonic::Status::GRPC_STATUS,
8063                                (tonic::Code::Unimplemented as i32).into(),
8064                            );
8065                        headers
8066                            .insert(
8067                                http::header::CONTENT_TYPE,
8068                                tonic::metadata::GRPC_CONTENT_TYPE,
8069                            );
8070                        Ok(response)
8071                    })
8072                }
8073            }
8074        }
8075    }
8076    impl<T> Clone for HostedIcebergCatalogServiceServer<T> {
8077        fn clone(&self) -> Self {
8078            let inner = self.inner.clone();
8079            Self {
8080                inner,
8081                accept_compression_encodings: self.accept_compression_encodings,
8082                send_compression_encodings: self.send_compression_encodings,
8083                max_decoding_message_size: self.max_decoding_message_size,
8084                max_encoding_message_size: self.max_encoding_message_size,
8085            }
8086        }
8087    }
8088    /// Generated gRPC service name
8089    pub const SERVICE_NAME: &str = "meta.HostedIcebergCatalogService";
8090    impl<T> tonic::server::NamedService for HostedIcebergCatalogServiceServer<T> {
8091        const NAME: &'static str = SERVICE_NAME;
8092    }
8093}