1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct ControlMessage {
4 #[prost(string, tag = "1")]
5 pub message_id: ::prost::alloc::string::String,
6 #[prost(
7 oneof = "control_message::Payload",
8 tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20"
9 )]
10 pub payload: ::core::option::Option<control_message::Payload>,
11}
12pub mod control_message {
14 #[derive(Clone, PartialEq, ::prost::Oneof)]
15 pub enum Payload {
16 #[prost(message, tag = "2")]
17 ConfigCommand(super::ConfigurationCommand),
18 #[prost(message, tag = "3")]
19 Ack(super::Ack),
20 #[prost(message, tag = "4")]
21 SubscriptionListRequest(super::SubscriptionListRequest),
22 #[prost(message, tag = "5")]
23 SubscriptionListResponse(super::SubscriptionListResponse),
24 #[prost(message, tag = "6")]
25 ConnectionListRequest(super::ConnectionListRequest),
26 #[prost(message, tag = "7")]
27 ConnectionListResponse(super::ConnectionListResponse),
28 #[prost(message, tag = "8")]
29 RegisterNodeRequest(super::RegisterNodeRequest),
30 #[prost(message, tag = "9")]
31 RegisterNodeResponse(super::RegisterNodeResponse),
32 #[prost(message, tag = "10")]
33 DeregisterNodeRequest(super::DeregisterNodeRequest),
34 #[prost(message, tag = "11")]
35 DeregisterNodeResponse(super::DeregisterNodeResponse),
36 #[prost(message, tag = "12")]
37 CreateChannelRequest(super::CreateChannelRequest),
38 #[prost(message, tag = "13")]
39 DeleteChannelRequest(super::DeleteChannelRequest),
40 #[prost(message, tag = "14")]
41 AddParticipantRequest(super::AddParticipantRequest),
42 #[prost(message, tag = "15")]
43 DeleteParticipantRequest(super::DeleteParticipantRequest),
44 #[prost(message, tag = "16")]
45 ListChannelRequest(super::ListChannelsRequest),
46 #[prost(message, tag = "17")]
47 ListChannelResponse(super::ListChannelsResponse),
48 #[prost(message, tag = "18")]
49 ListParticipantsRequest(super::ListParticipantsRequest),
50 #[prost(message, tag = "19")]
51 ListParticipantsResponse(super::ListParticipantsResponse),
52 #[prost(message, tag = "20")]
53 ConfigCommandAck(super::ConfigurationCommandAck),
54 }
55}
56#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
57pub struct Connection {
58 #[prost(string, tag = "1")]
59 pub connection_id: ::prost::alloc::string::String,
60 #[prost(string, tag = "2")]
61 pub config_data: ::prost::alloc::string::String,
62}
63#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
64pub struct ConnectionAck {
65 #[prost(string, tag = "1")]
66 pub connection_id: ::prost::alloc::string::String,
67 #[prost(bool, tag = "2")]
68 pub success: bool,
69 #[prost(string, tag = "3")]
70 pub error_msg: ::prost::alloc::string::String,
71}
72#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
73pub struct Subscription {
74 #[prost(string, tag = "1")]
75 pub component_0: ::prost::alloc::string::String,
76 #[prost(string, tag = "2")]
77 pub component_1: ::prost::alloc::string::String,
78 #[prost(string, tag = "3")]
79 pub component_2: ::prost::alloc::string::String,
80 #[prost(message, optional, tag = "4")]
81 pub id: ::core::option::Option<u64>,
82 #[prost(string, tag = "5")]
83 pub connection_id: ::prost::alloc::string::String,
84 #[prost(string, optional, tag = "6")]
85 pub node_id: ::core::option::Option<::prost::alloc::string::String>,
86 #[prost(string, optional, tag = "7")]
87 pub link_id: ::core::option::Option<::prost::alloc::string::String>,
88 #[prost(enumeration = "ConnectionDirection", optional, tag = "8")]
89 pub direction: ::core::option::Option<i32>,
90}
91#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
92pub struct SubscriptionAck {
93 #[prost(message, optional, tag = "1")]
94 pub subscription: ::core::option::Option<Subscription>,
95 #[prost(bool, tag = "2")]
96 pub success: bool,
97 #[prost(string, tag = "3")]
98 pub error_msg: ::prost::alloc::string::String,
99}
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct ConfigurationCommand {
102 #[prost(message, repeated, tag = "1")]
103 pub connections_to_create: ::prost::alloc::vec::Vec<Connection>,
104 #[prost(message, repeated, tag = "2")]
105 pub subscriptions_to_set: ::prost::alloc::vec::Vec<Subscription>,
106 #[prost(message, repeated, tag = "3")]
107 pub subscriptions_to_delete: ::prost::alloc::vec::Vec<Subscription>,
108 #[prost(string, repeated, tag = "4")]
109 pub connections_to_delete: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
110}
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct ConfigurationCommandAck {
113 #[prost(string, tag = "1")]
114 pub original_message_id: ::prost::alloc::string::String,
115 #[prost(message, repeated, tag = "2")]
116 pub connections_status: ::prost::alloc::vec::Vec<ConnectionAck>,
117 #[prost(message, repeated, tag = "3")]
118 pub subscriptions_status: ::prost::alloc::vec::Vec<SubscriptionAck>,
119}
120#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
121pub struct Ack {
122 #[prost(string, tag = "1")]
123 pub original_message_id: ::prost::alloc::string::String,
124 #[prost(bool, tag = "2")]
125 pub success: bool,
126 #[prost(string, repeated, tag = "3")]
127 pub messages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
128}
129#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
130pub struct SubscriptionListRequest {}
131#[derive(Clone, PartialEq, ::prost::Message)]
132pub struct SubscriptionListResponse {
133 #[prost(string, tag = "1")]
134 pub original_message_id: ::prost::alloc::string::String,
135 #[prost(message, repeated, tag = "2")]
136 pub entries: ::prost::alloc::vec::Vec<SubscriptionEntry>,
137}
138#[derive(Clone, PartialEq, ::prost::Message)]
139pub struct SubscriptionEntry {
140 #[prost(string, tag = "1")]
141 pub component_0: ::prost::alloc::string::String,
142 #[prost(string, tag = "2")]
143 pub component_1: ::prost::alloc::string::String,
144 #[prost(string, tag = "3")]
145 pub component_2: ::prost::alloc::string::String,
146 #[prost(message, optional, tag = "4")]
147 pub id: ::core::option::Option<u64>,
148 #[prost(message, repeated, tag = "5")]
149 pub local_connections: ::prost::alloc::vec::Vec<ConnectionEntry>,
150 #[prost(message, repeated, tag = "6")]
151 pub remote_connections: ::prost::alloc::vec::Vec<ConnectionEntry>,
152}
153#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
154pub struct ConnectionEntry {
155 #[prost(uint64, tag = "1")]
156 pub id: u64,
157 #[prost(enumeration = "ConnectionType", tag = "2")]
158 pub connection_type: i32,
159 #[prost(string, tag = "3")]
160 pub config_data: ::prost::alloc::string::String,
161 #[prost(string, optional, tag = "4")]
162 pub link_id: ::core::option::Option<::prost::alloc::string::String>,
163 #[prost(enumeration = "ConnectionDirection", tag = "5")]
164 pub direction: i32,
165}
166#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
167pub struct ConnectionListRequest {}
168#[derive(Clone, PartialEq, ::prost::Message)]
169pub struct ConnectionListResponse {
170 #[prost(string, tag = "1")]
171 pub original_message_id: ::prost::alloc::string::String,
172 #[prost(message, repeated, tag = "2")]
173 pub entries: ::prost::alloc::vec::Vec<ConnectionEntry>,
174}
175#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
176pub struct Node {
177 #[prost(string, tag = "1")]
178 pub id: ::prost::alloc::string::String,
179}
180#[derive(Clone, PartialEq, ::prost::Message)]
181pub struct ConnectionDetails {
182 #[prost(string, tag = "1")]
183 pub endpoint: ::prost::alloc::string::String,
184 #[prost(bool, tag = "2")]
185 pub mtls_required: bool,
186 #[prost(message, optional, tag = "3")]
187 pub metadata: ::core::option::Option<::prost_types::Struct>,
188 #[prost(string, optional, tag = "4")]
189 pub auth: ::core::option::Option<::prost::alloc::string::String>,
190 #[prost(string, optional, tag = "5")]
191 pub tls: ::core::option::Option<::prost::alloc::string::String>,
192}
193#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct RegisterNodeRequest {
195 #[prost(string, tag = "1")]
196 pub node_id: ::prost::alloc::string::String,
197 #[prost(message, repeated, tag = "2")]
198 pub connection_details: ::prost::alloc::vec::Vec<ConnectionDetails>,
199 #[prost(string, optional, tag = "3")]
200 pub group_name: ::core::option::Option<::prost::alloc::string::String>,
201}
202#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
203pub struct RegisterNodeResponse {
204 #[prost(string, tag = "1")]
205 pub original_message_id: ::prost::alloc::string::String,
206 #[prost(bool, tag = "2")]
207 pub success: bool,
208}
209#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
210pub struct DeregisterNodeRequest {
211 #[prost(message, optional, tag = "1")]
212 pub node: ::core::option::Option<Node>,
213}
214#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
215pub struct DeregisterNodeResponse {
216 #[prost(string, tag = "1")]
217 pub original_message_id: ::prost::alloc::string::String,
218 #[prost(bool, tag = "2")]
219 pub success: bool,
220}
221#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
222pub struct CreateChannelRequest {
223 #[prost(string, repeated, tag = "1")]
225 pub moderators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
226 #[prost(string, tag = "2")]
228 pub channel_name: ::prost::alloc::string::String,
229}
230#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
231pub struct DeleteChannelRequest {
232 #[prost(string, tag = "1")]
234 pub channel_name: ::prost::alloc::string::String,
235 #[prost(string, repeated, tag = "2")]
237 pub moderators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
238}
239#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
240pub struct AddParticipantRequest {
241 #[prost(string, tag = "1")]
243 pub channel_name: ::prost::alloc::string::String,
244 #[prost(string, tag = "2")]
246 pub participant_name: ::prost::alloc::string::String,
247 #[prost(string, repeated, tag = "3")]
249 pub moderators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
250}
251#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
252pub struct DeleteParticipantRequest {
253 #[prost(string, tag = "1")]
255 pub channel_name: ::prost::alloc::string::String,
256 #[prost(string, tag = "2")]
258 pub participant_name: ::prost::alloc::string::String,
259 #[prost(string, repeated, tag = "3")]
261 pub moderators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
262}
263#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
264pub struct ListChannelsRequest {}
265#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
266pub struct ListChannelsResponse {
267 #[prost(string, tag = "1")]
268 pub original_message_id: ::prost::alloc::string::String,
269 #[prost(string, repeated, tag = "2")]
271 pub channel_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
272}
273#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
274pub struct ListParticipantsRequest {
275 #[prost(string, tag = "1")]
277 pub channel_name: ::prost::alloc::string::String,
278}
279#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
280pub struct ListParticipantsResponse {
281 #[prost(string, tag = "1")]
282 pub original_message_id: ::prost::alloc::string::String,
283 #[prost(string, repeated, tag = "2")]
285 pub participant_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
286}
287#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
288#[repr(i32)]
289pub enum ConnectionType {
290 Local = 0,
291 Remote = 1,
292}
293impl ConnectionType {
294 pub fn as_str_name(&self) -> &'static str {
299 match self {
300 Self::Local => "CONNECTION_TYPE_LOCAL",
301 Self::Remote => "CONNECTION_TYPE_REMOTE",
302 }
303 }
304 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
306 match value {
307 "CONNECTION_TYPE_LOCAL" => Some(Self::Local),
308 "CONNECTION_TYPE_REMOTE" => Some(Self::Remote),
309 _ => None,
310 }
311 }
312}
313#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
314#[repr(i32)]
315pub enum ConnectionDirection {
316 Outgoing = 0,
317 Incoming = 1,
318}
319impl ConnectionDirection {
320 pub fn as_str_name(&self) -> &'static str {
325 match self {
326 Self::Outgoing => "CONNECTION_DIRECTION_OUTGOING",
327 Self::Incoming => "CONNECTION_DIRECTION_INCOMING",
328 }
329 }
330 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
332 match value {
333 "CONNECTION_DIRECTION_OUTGOING" => Some(Self::Outgoing),
334 "CONNECTION_DIRECTION_INCOMING" => Some(Self::Incoming),
335 _ => None,
336 }
337 }
338}
339pub mod controller_service_client {
341 #![allow(
342 unused_variables,
343 dead_code,
344 missing_docs,
345 clippy::wildcard_imports,
346 clippy::let_unit_value,
347 )]
348 use tonic::codegen::*;
349 use tonic::codegen::http::Uri;
350 #[derive(Debug, Clone)]
351 pub struct ControllerServiceClient<T> {
352 inner: tonic::client::Grpc<T>,
353 }
354 impl ControllerServiceClient<tonic::transport::Channel> {
355 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
357 where
358 D: TryInto<tonic::transport::Endpoint>,
359 D::Error: Into<StdError>,
360 {
361 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
362 Ok(Self::new(conn))
363 }
364 }
365 impl<T> ControllerServiceClient<T>
366 where
367 T: tonic::client::GrpcService<tonic::body::Body>,
368 T::Error: Into<StdError>,
369 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
370 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
371 {
372 pub fn new(inner: T) -> Self {
373 let inner = tonic::client::Grpc::new(inner);
374 Self { inner }
375 }
376 pub fn with_origin(inner: T, origin: Uri) -> Self {
377 let inner = tonic::client::Grpc::with_origin(inner, origin);
378 Self { inner }
379 }
380 pub fn with_interceptor<F>(
381 inner: T,
382 interceptor: F,
383 ) -> ControllerServiceClient<InterceptedService<T, F>>
384 where
385 F: tonic::service::Interceptor,
386 T::ResponseBody: Default,
387 T: tonic::codegen::Service<
388 http::Request<tonic::body::Body>,
389 Response = http::Response<
390 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
391 >,
392 >,
393 <T as tonic::codegen::Service<
394 http::Request<tonic::body::Body>,
395 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
396 {
397 ControllerServiceClient::new(InterceptedService::new(inner, interceptor))
398 }
399 #[must_use]
404 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
405 self.inner = self.inner.send_compressed(encoding);
406 self
407 }
408 #[must_use]
410 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
411 self.inner = self.inner.accept_compressed(encoding);
412 self
413 }
414 #[must_use]
418 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
419 self.inner = self.inner.max_decoding_message_size(limit);
420 self
421 }
422 #[must_use]
426 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
427 self.inner = self.inner.max_encoding_message_size(limit);
428 self
429 }
430 pub async fn open_control_channel(
431 &mut self,
432 request: impl tonic::IntoStreamingRequest<Message = super::ControlMessage>,
433 ) -> std::result::Result<
434 tonic::Response<tonic::codec::Streaming<super::ControlMessage>>,
435 tonic::Status,
436 > {
437 self.inner
438 .ready()
439 .await
440 .map_err(|e| {
441 tonic::Status::unknown(
442 format!("Service was not ready: {}", e.into()),
443 )
444 })?;
445 let codec = tonic_prost::ProstCodec::default();
446 let path = http::uri::PathAndQuery::from_static(
447 "/controller.proto.v1.ControllerService/OpenControlChannel",
448 );
449 let mut req = request.into_streaming_request();
450 req.extensions_mut()
451 .insert(
452 GrpcMethod::new(
453 "controller.proto.v1.ControllerService",
454 "OpenControlChannel",
455 ),
456 );
457 self.inner.streaming(req, path, codec).await
458 }
459 }
460}
461pub mod controller_service_server {
463 #![allow(
464 unused_variables,
465 dead_code,
466 missing_docs,
467 clippy::wildcard_imports,
468 clippy::let_unit_value,
469 )]
470 use tonic::codegen::*;
471 #[async_trait]
473 pub trait ControllerService: std::marker::Send + std::marker::Sync + 'static {
474 type OpenControlChannelStream: tonic::codegen::tokio_stream::Stream<
476 Item = std::result::Result<super::ControlMessage, tonic::Status>,
477 >
478 + std::marker::Send
479 + 'static;
480 async fn open_control_channel(
481 &self,
482 request: tonic::Request<tonic::Streaming<super::ControlMessage>>,
483 ) -> std::result::Result<
484 tonic::Response<Self::OpenControlChannelStream>,
485 tonic::Status,
486 >;
487 }
488 #[derive(Debug)]
489 pub struct ControllerServiceServer<T> {
490 inner: Arc<T>,
491 accept_compression_encodings: EnabledCompressionEncodings,
492 send_compression_encodings: EnabledCompressionEncodings,
493 max_decoding_message_size: Option<usize>,
494 max_encoding_message_size: Option<usize>,
495 }
496 impl<T> ControllerServiceServer<T> {
497 pub fn new(inner: T) -> Self {
498 Self::from_arc(Arc::new(inner))
499 }
500 pub fn from_arc(inner: Arc<T>) -> Self {
501 Self {
502 inner,
503 accept_compression_encodings: Default::default(),
504 send_compression_encodings: Default::default(),
505 max_decoding_message_size: None,
506 max_encoding_message_size: None,
507 }
508 }
509 pub fn with_interceptor<F>(
510 inner: T,
511 interceptor: F,
512 ) -> InterceptedService<Self, F>
513 where
514 F: tonic::service::Interceptor,
515 {
516 InterceptedService::new(Self::new(inner), interceptor)
517 }
518 #[must_use]
520 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
521 self.accept_compression_encodings.enable(encoding);
522 self
523 }
524 #[must_use]
526 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
527 self.send_compression_encodings.enable(encoding);
528 self
529 }
530 #[must_use]
534 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
535 self.max_decoding_message_size = Some(limit);
536 self
537 }
538 #[must_use]
542 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
543 self.max_encoding_message_size = Some(limit);
544 self
545 }
546 }
547 impl<T, B> tonic::codegen::Service<http::Request<B>> for ControllerServiceServer<T>
548 where
549 T: ControllerService,
550 B: Body + std::marker::Send + 'static,
551 B::Error: Into<StdError> + std::marker::Send + 'static,
552 {
553 type Response = http::Response<tonic::body::Body>;
554 type Error = std::convert::Infallible;
555 type Future = BoxFuture<Self::Response, Self::Error>;
556 fn poll_ready(
557 &mut self,
558 _cx: &mut Context<'_>,
559 ) -> Poll<std::result::Result<(), Self::Error>> {
560 Poll::Ready(Ok(()))
561 }
562 fn call(&mut self, req: http::Request<B>) -> Self::Future {
563 match req.uri().path() {
564 "/controller.proto.v1.ControllerService/OpenControlChannel" => {
565 #[allow(non_camel_case_types)]
566 struct OpenControlChannelSvc<T: ControllerService>(pub Arc<T>);
567 impl<
568 T: ControllerService,
569 > tonic::server::StreamingService<super::ControlMessage>
570 for OpenControlChannelSvc<T> {
571 type Response = super::ControlMessage;
572 type ResponseStream = T::OpenControlChannelStream;
573 type Future = BoxFuture<
574 tonic::Response<Self::ResponseStream>,
575 tonic::Status,
576 >;
577 fn call(
578 &mut self,
579 request: tonic::Request<
580 tonic::Streaming<super::ControlMessage>,
581 >,
582 ) -> Self::Future {
583 let inner = Arc::clone(&self.0);
584 let fut = async move {
585 <T as ControllerService>::open_control_channel(
586 &inner,
587 request,
588 )
589 .await
590 };
591 Box::pin(fut)
592 }
593 }
594 let accept_compression_encodings = self.accept_compression_encodings;
595 let send_compression_encodings = self.send_compression_encodings;
596 let max_decoding_message_size = self.max_decoding_message_size;
597 let max_encoding_message_size = self.max_encoding_message_size;
598 let inner = self.inner.clone();
599 let fut = async move {
600 let method = OpenControlChannelSvc(inner);
601 let codec = tonic_prost::ProstCodec::default();
602 let mut grpc = tonic::server::Grpc::new(codec)
603 .apply_compression_config(
604 accept_compression_encodings,
605 send_compression_encodings,
606 )
607 .apply_max_message_size_config(
608 max_decoding_message_size,
609 max_encoding_message_size,
610 );
611 let res = grpc.streaming(method, req).await;
612 Ok(res)
613 };
614 Box::pin(fut)
615 }
616 _ => {
617 Box::pin(async move {
618 let mut response = http::Response::new(
619 tonic::body::Body::default(),
620 );
621 let headers = response.headers_mut();
622 headers
623 .insert(
624 tonic::Status::GRPC_STATUS,
625 (tonic::Code::Unimplemented as i32).into(),
626 );
627 headers
628 .insert(
629 http::header::CONTENT_TYPE,
630 tonic::metadata::GRPC_CONTENT_TYPE,
631 );
632 Ok(response)
633 })
634 }
635 }
636 }
637 }
638 impl<T> Clone for ControllerServiceServer<T> {
639 fn clone(&self) -> Self {
640 let inner = self.inner.clone();
641 Self {
642 inner,
643 accept_compression_encodings: self.accept_compression_encodings,
644 send_compression_encodings: self.send_compression_encodings,
645 max_decoding_message_size: self.max_decoding_message_size,
646 max_encoding_message_size: self.max_encoding_message_size,
647 }
648 }
649 }
650 pub const SERVICE_NAME: &str = "controller.proto.v1.ControllerService";
652 impl<T> tonic::server::NamedService for ControllerServiceServer<T> {
653 const NAME: &'static str = SERVICE_NAME;
654 }
655}