maxwell_protocol/protocol/
maxwell_protocol.rs

1// This file is @generated by prost-build.
2#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3pub struct PingReq {
4    #[prost(uint32, tag = "15")]
5    pub r#ref: u32,
6}
7#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8pub struct PingRep {
9    #[prost(uint32, tag = "15")]
10    pub r#ref: u32,
11}
12#[derive(Clone, Copy, PartialEq, ::prost::Message)]
13pub struct OkRep {
14    #[prost(uint32, tag = "15")]
15    pub r#ref: u32,
16}
17#[derive(Clone, PartialEq, ::prost::Message)]
18pub struct ErrorRep {
19    #[prost(int32, tag = "1")]
20    pub code: i32,
21    #[prost(string, tag = "2")]
22    pub desc: ::prost::alloc::string::String,
23    #[prost(uint32, tag = "15")]
24    pub r#ref: u32,
25}
26#[derive(Clone, Copy, PartialEq, ::prost::Message)]
27pub struct Ok2Rep {
28    #[prost(uint32, tag = "13")]
29    pub conn0_ref: u32,
30    #[prost(uint32, tag = "14")]
31    pub conn1_ref: u32,
32    #[prost(uint32, tag = "15")]
33    pub r#ref: u32,
34}
35#[derive(Clone, PartialEq, ::prost::Message)]
36pub struct Error2Rep {
37    #[prost(int32, tag = "1")]
38    pub code: i32,
39    #[prost(string, tag = "2")]
40    pub desc: ::prost::alloc::string::String,
41    #[prost(uint32, tag = "13")]
42    pub conn0_ref: u32,
43    #[prost(uint32, tag = "14")]
44    pub conn1_ref: u32,
45    #[prost(uint32, tag = "15")]
46    pub r#ref: u32,
47}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct PushReq {
50    #[prost(string, tag = "1")]
51    pub topic: ::prost::alloc::string::String,
52    #[prost(bytes = "vec", tag = "2")]
53    pub value: ::prost::alloc::vec::Vec<u8>,
54    #[prost(uint32, tag = "15")]
55    pub r#ref: u32,
56}
57#[derive(Clone, Copy, PartialEq, ::prost::Message)]
58pub struct PushRep {
59    #[prost(uint32, tag = "15")]
60    pub r#ref: u32,
61}
62#[derive(Clone, PartialEq, ::prost::Message)]
63pub struct PullReq {
64    #[prost(string, tag = "1")]
65    pub topic: ::prost::alloc::string::String,
66    /// int64, not uint64
67    #[prost(int64, tag = "2")]
68    pub offset: i64,
69    #[prost(uint32, tag = "3")]
70    pub limit: u32,
71    #[prost(uint32, tag = "13")]
72    pub conn0_ref: u32,
73    #[prost(uint32, tag = "14")]
74    pub conn1_ref: u32,
75    #[prost(uint32, tag = "15")]
76    pub r#ref: u32,
77}
78#[derive(Clone, PartialEq, ::prost::Message)]
79pub struct PullRep {
80    #[prost(message, repeated, tag = "1")]
81    pub msgs: ::prost::alloc::vec::Vec<Msg>,
82    #[prost(uint32, tag = "13")]
83    pub conn0_ref: u32,
84    #[prost(uint32, tag = "14")]
85    pub conn1_ref: u32,
86    #[prost(uint32, tag = "15")]
87    pub r#ref: u32,
88}
89#[derive(Clone, PartialEq, ::prost::Message)]
90pub struct ReqReq {
91    #[prost(string, tag = "1")]
92    pub path: ::prost::alloc::string::String,
93    #[prost(string, tag = "2")]
94    pub payload: ::prost::alloc::string::String,
95    #[prost(message, optional, tag = "12")]
96    pub header: ::core::option::Option<Header>,
97    #[prost(uint32, tag = "13")]
98    pub conn0_ref: u32,
99    #[prost(uint32, tag = "14")]
100    pub conn1_ref: u32,
101    #[prost(uint32, tag = "15")]
102    pub r#ref: u32,
103}
104#[derive(Clone, PartialEq, ::prost::Message)]
105pub struct ReqRep {
106    #[prost(string, tag = "1")]
107    pub payload: ::prost::alloc::string::String,
108    #[prost(uint32, tag = "13")]
109    pub conn0_ref: u32,
110    #[prost(uint32, tag = "14")]
111    pub conn1_ref: u32,
112    #[prost(uint32, tag = "15")]
113    pub r#ref: u32,
114}
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct AuthReq {
117    #[prost(string, tag = "1")]
118    pub token: ::prost::alloc::string::String,
119    #[prost(uint32, tag = "13")]
120    pub conn0_ref: u32,
121    #[prost(uint32, tag = "14")]
122    pub conn1_ref: u32,
123    #[prost(uint32, tag = "15")]
124    pub r#ref: u32,
125}
126#[derive(Clone, Copy, PartialEq, ::prost::Message)]
127pub struct AuthRep {
128    #[prost(uint32, tag = "13")]
129    pub conn0_ref: u32,
130    #[prost(uint32, tag = "14")]
131    pub conn1_ref: u32,
132    #[prost(uint32, tag = "15")]
133    pub r#ref: u32,
134}
135#[derive(Clone, PartialEq, ::prost::Message)]
136pub struct RegisterFrontendReq {
137    #[prost(string, tag = "3")]
138    pub id: ::prost::alloc::string::String,
139    #[prost(uint32, tag = "1")]
140    pub http_port: u32,
141    #[prost(uint32, tag = "15")]
142    pub r#ref: u32,
143}
144#[derive(Clone, Copy, PartialEq, ::prost::Message)]
145pub struct RegisterFrontendRep {
146    #[prost(uint32, tag = "15")]
147    pub r#ref: u32,
148}
149#[derive(Clone, PartialEq, ::prost::Message)]
150pub struct RegisterBackendReq {
151    #[prost(string, tag = "3")]
152    pub id: ::prost::alloc::string::String,
153    #[prost(uint32, tag = "1")]
154    pub http_port: u32,
155    #[prost(uint32, tag = "15")]
156    pub r#ref: u32,
157}
158#[derive(Clone, Copy, PartialEq, ::prost::Message)]
159pub struct RegisterBackendRep {
160    #[prost(uint32, tag = "15")]
161    pub r#ref: u32,
162}
163#[derive(Clone, PartialEq, ::prost::Message)]
164pub struct RegisterServiceReq {
165    #[prost(string, tag = "3")]
166    pub id: ::prost::alloc::string::String,
167    #[prost(uint32, tag = "1")]
168    pub http_port: u32,
169    #[prost(uint32, tag = "15")]
170    pub r#ref: u32,
171}
172#[derive(Clone, Copy, PartialEq, ::prost::Message)]
173pub struct RegisterServiceRep {
174    #[prost(uint32, tag = "15")]
175    pub r#ref: u32,
176}
177#[derive(Clone, PartialEq, ::prost::Message)]
178pub struct SetRoutesReq {
179    #[prost(string, repeated, tag = "1")]
180    pub ws_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
181    #[prost(string, repeated, tag = "2")]
182    pub get_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
183    #[prost(string, repeated, tag = "3")]
184    pub post_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
185    #[prost(string, repeated, tag = "4")]
186    pub put_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
187    #[prost(string, repeated, tag = "5")]
188    pub patch_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
189    #[prost(string, repeated, tag = "6")]
190    pub delete_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
191    #[prost(string, repeated, tag = "7")]
192    pub head_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
193    #[prost(string, repeated, tag = "8")]
194    pub options_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
195    #[prost(string, repeated, tag = "9")]
196    pub trace_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
197    #[prost(uint32, tag = "15")]
198    pub r#ref: u32,
199}
200#[derive(Clone, Copy, PartialEq, ::prost::Message)]
201pub struct SetRoutesRep {
202    #[prost(uint32, tag = "15")]
203    pub r#ref: u32,
204}
205#[derive(Clone, Copy, PartialEq, ::prost::Message)]
206pub struct GetRoutesReq {
207    #[prost(uint32, tag = "15")]
208    pub r#ref: u32,
209}
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct GetRoutesRep {
212    #[prost(message, repeated, tag = "1")]
213    pub ws_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
214    #[prost(message, repeated, tag = "2")]
215    pub get_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
216    #[prost(message, repeated, tag = "3")]
217    pub post_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
218    #[prost(message, repeated, tag = "4")]
219    pub put_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
220    #[prost(message, repeated, tag = "5")]
221    pub patch_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
222    #[prost(message, repeated, tag = "6")]
223    pub delete_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
224    #[prost(message, repeated, tag = "7")]
225    pub head_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
226    #[prost(message, repeated, tag = "8")]
227    pub options_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
228    #[prost(message, repeated, tag = "9")]
229    pub trace_route_groups: ::prost::alloc::vec::Vec<RouteGroup>,
230    #[prost(uint32, tag = "15")]
231    pub r#ref: u32,
232}
233#[derive(Clone, Copy, PartialEq, ::prost::Message)]
234pub struct GetTopicDistChecksumReq {
235    #[prost(uint32, tag = "15")]
236    pub r#ref: u32,
237}
238#[derive(Clone, Copy, PartialEq, ::prost::Message)]
239pub struct GetTopicDistChecksumRep {
240    #[prost(uint32, tag = "1")]
241    pub checksum: u32,
242    #[prost(uint32, tag = "15")]
243    pub r#ref: u32,
244}
245#[derive(Clone, Copy, PartialEq, ::prost::Message)]
246pub struct GetRouteDistChecksumReq {
247    #[prost(uint32, tag = "15")]
248    pub r#ref: u32,
249}
250#[derive(Clone, Copy, PartialEq, ::prost::Message)]
251pub struct GetRouteDistChecksumRep {
252    #[prost(uint32, tag = "1")]
253    pub checksum: u32,
254    #[prost(uint32, tag = "15")]
255    pub r#ref: u32,
256}
257#[derive(Clone, Copy, PartialEq, ::prost::Message)]
258pub struct PickFrontendReq {
259    #[prost(uint32, tag = "15")]
260    pub r#ref: u32,
261}
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct PickFrontendRep {
264    #[prost(string, tag = "1")]
265    pub endpoint: ::prost::alloc::string::String,
266    #[prost(uint32, tag = "15")]
267    pub r#ref: u32,
268}
269#[derive(Clone, Copy, PartialEq, ::prost::Message)]
270pub struct PickFrontendsReq {
271    #[prost(uint32, tag = "15")]
272    pub r#ref: u32,
273}
274#[derive(Clone, PartialEq, ::prost::Message)]
275pub struct PickFrontendsRep {
276    #[prost(string, repeated, tag = "1")]
277    pub endpoints: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
278    #[prost(uint32, tag = "15")]
279    pub r#ref: u32,
280}
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct LocateTopicReq {
283    #[prost(string, tag = "1")]
284    pub topic: ::prost::alloc::string::String,
285    #[prost(uint32, tag = "15")]
286    pub r#ref: u32,
287}
288#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct LocateTopicRep {
290    #[prost(string, tag = "1")]
291    pub endpoint: ::prost::alloc::string::String,
292    #[prost(uint32, tag = "15")]
293    pub r#ref: u32,
294}
295#[derive(Clone, Copy, PartialEq, ::prost::Message)]
296pub struct ResolveIpReq {
297    #[prost(uint32, tag = "15")]
298    pub r#ref: u32,
299}
300#[derive(Clone, PartialEq, ::prost::Message)]
301pub struct ResolveIpRep {
302    #[prost(string, tag = "1")]
303    pub ip: ::prost::alloc::string::String,
304    #[prost(uint32, tag = "15")]
305    pub r#ref: u32,
306}
307#[derive(Clone, PartialEq, ::prost::Message)]
308pub struct Msg {
309    #[prost(uint64, tag = "1")]
310    pub offset: u64,
311    #[prost(bytes = "vec", tag = "2")]
312    pub value: ::prost::alloc::vec::Vec<u8>,
313    #[prost(uint64, tag = "3")]
314    pub timestamp: u64,
315}
316#[derive(Clone, PartialEq, ::prost::Message)]
317pub struct Header {
318    #[prost(string, tag = "1")]
319    pub agent: ::prost::alloc::string::String,
320    #[prost(string, tag = "2")]
321    pub endpoint: ::prost::alloc::string::String,
322    #[prost(string, tag = "3")]
323    pub token: ::prost::alloc::string::String,
324}
325#[derive(::serde::Serialize)]
326#[serde(rename_all = "camelCase")]
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct RouteGroup {
329    #[prost(string, tag = "1")]
330    pub path: ::prost::alloc::string::String,
331    #[prost(string, repeated, tag = "2")]
332    pub healthy_endpoints: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
333    #[prost(string, repeated, tag = "3")]
334    pub unhealthy_endpoints: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
335}
336/// unused, placeholder for some impls
337#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
338#[repr(i32)]
339pub enum MsgType {
340    Unknown = 0,
341    PingReq = 1,
342    PingRep = 2,
343    OkRep = 29,
344    ErrorRep = 30,
345    Ok2Rep = 31,
346    Error2Rep = 32,
347    PushReq = 33,
348    PushRep = 34,
349    PullReq = 35,
350    PullRep = 36,
351    ReqReq = 39,
352    ReqRep = 40,
353    AuthReq = 41,
354    AuthRep = 42,
355    RegisterFrontendReq = 65,
356    RegisterFrontendRep = 66,
357    RegisterBackendReq = 67,
358    RegisterBackendRep = 68,
359    RegisterServiceReq = 69,
360    RegisterServiceRep = 70,
361    SetRoutesReq = 71,
362    SetRoutesRep = 72,
363    GetRoutesReq = 75,
364    GetRoutesRep = 76,
365    GetTopicDistChecksumReq = 77,
366    GetTopicDistChecksumRep = 78,
367    GetRouteDistChecksumReq = 79,
368    GetRouteDistChecksumRep = 80,
369    PickFrontendReq = 81,
370    PickFrontendRep = 82,
371    PickFrontendsReq = 83,
372    PickFrontendsRep = 84,
373    LocateTopicReq = 85,
374    LocateTopicRep = 86,
375    ResolveIpReq = 121,
376    ResolveIpRep = 122,
377}
378impl MsgType {
379    /// String value of the enum field names used in the ProtoBuf definition.
380    ///
381    /// The values are not transformed in any way and thus are considered stable
382    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
383    pub fn as_str_name(&self) -> &'static str {
384        match self {
385            MsgType::Unknown => "UNKNOWN",
386            MsgType::PingReq => "PING_REQ",
387            MsgType::PingRep => "PING_REP",
388            MsgType::OkRep => "OK_REP",
389            MsgType::ErrorRep => "ERROR_REP",
390            MsgType::Ok2Rep => "OK2_REP",
391            MsgType::Error2Rep => "ERROR2_REP",
392            MsgType::PushReq => "PUSH_REQ",
393            MsgType::PushRep => "PUSH_REP",
394            MsgType::PullReq => "PULL_REQ",
395            MsgType::PullRep => "PULL_REP",
396            MsgType::ReqReq => "REQ_REQ",
397            MsgType::ReqRep => "REQ_REP",
398            MsgType::AuthReq => "AUTH_REQ",
399            MsgType::AuthRep => "AUTH_REP",
400            MsgType::RegisterFrontendReq => "REGISTER_FRONTEND_REQ",
401            MsgType::RegisterFrontendRep => "REGISTER_FRONTEND_REP",
402            MsgType::RegisterBackendReq => "REGISTER_BACKEND_REQ",
403            MsgType::RegisterBackendRep => "REGISTER_BACKEND_REP",
404            MsgType::RegisterServiceReq => "REGISTER_SERVICE_REQ",
405            MsgType::RegisterServiceRep => "REGISTER_SERVICE_REP",
406            MsgType::SetRoutesReq => "SET_ROUTES_REQ",
407            MsgType::SetRoutesRep => "SET_ROUTES_REP",
408            MsgType::GetRoutesReq => "GET_ROUTES_REQ",
409            MsgType::GetRoutesRep => "GET_ROUTES_REP",
410            MsgType::GetTopicDistChecksumReq => "GET_TOPIC_DIST_CHECKSUM_REQ",
411            MsgType::GetTopicDistChecksumRep => "GET_TOPIC_DIST_CHECKSUM_REP",
412            MsgType::GetRouteDistChecksumReq => "GET_ROUTE_DIST_CHECKSUM_REQ",
413            MsgType::GetRouteDistChecksumRep => "GET_ROUTE_DIST_CHECKSUM_REP",
414            MsgType::PickFrontendReq => "PICK_FRONTEND_REQ",
415            MsgType::PickFrontendRep => "PICK_FRONTEND_REP",
416            MsgType::PickFrontendsReq => "PICK_FRONTENDS_REQ",
417            MsgType::PickFrontendsRep => "PICK_FRONTENDS_REP",
418            MsgType::LocateTopicReq => "LOCATE_TOPIC_REQ",
419            MsgType::LocateTopicRep => "LOCATE_TOPIC_REP",
420            MsgType::ResolveIpReq => "RESOLVE_IP_REQ",
421            MsgType::ResolveIpRep => "RESOLVE_IP_REP",
422        }
423    }
424    /// Creates an enum from field names used in the ProtoBuf definition.
425    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
426        match value {
427            "UNKNOWN" => Some(Self::Unknown),
428            "PING_REQ" => Some(Self::PingReq),
429            "PING_REP" => Some(Self::PingRep),
430            "OK_REP" => Some(Self::OkRep),
431            "ERROR_REP" => Some(Self::ErrorRep),
432            "OK2_REP" => Some(Self::Ok2Rep),
433            "ERROR2_REP" => Some(Self::Error2Rep),
434            "PUSH_REQ" => Some(Self::PushReq),
435            "PUSH_REP" => Some(Self::PushRep),
436            "PULL_REQ" => Some(Self::PullReq),
437            "PULL_REP" => Some(Self::PullRep),
438            "REQ_REQ" => Some(Self::ReqReq),
439            "REQ_REP" => Some(Self::ReqRep),
440            "AUTH_REQ" => Some(Self::AuthReq),
441            "AUTH_REP" => Some(Self::AuthRep),
442            "REGISTER_FRONTEND_REQ" => Some(Self::RegisterFrontendReq),
443            "REGISTER_FRONTEND_REP" => Some(Self::RegisterFrontendRep),
444            "REGISTER_BACKEND_REQ" => Some(Self::RegisterBackendReq),
445            "REGISTER_BACKEND_REP" => Some(Self::RegisterBackendRep),
446            "REGISTER_SERVICE_REQ" => Some(Self::RegisterServiceReq),
447            "REGISTER_SERVICE_REP" => Some(Self::RegisterServiceRep),
448            "SET_ROUTES_REQ" => Some(Self::SetRoutesReq),
449            "SET_ROUTES_REP" => Some(Self::SetRoutesRep),
450            "GET_ROUTES_REQ" => Some(Self::GetRoutesReq),
451            "GET_ROUTES_REP" => Some(Self::GetRoutesRep),
452            "GET_TOPIC_DIST_CHECKSUM_REQ" => Some(Self::GetTopicDistChecksumReq),
453            "GET_TOPIC_DIST_CHECKSUM_REP" => Some(Self::GetTopicDistChecksumRep),
454            "GET_ROUTE_DIST_CHECKSUM_REQ" => Some(Self::GetRouteDistChecksumReq),
455            "GET_ROUTE_DIST_CHECKSUM_REP" => Some(Self::GetRouteDistChecksumRep),
456            "PICK_FRONTEND_REQ" => Some(Self::PickFrontendReq),
457            "PICK_FRONTEND_REP" => Some(Self::PickFrontendRep),
458            "PICK_FRONTENDS_REQ" => Some(Self::PickFrontendsReq),
459            "PICK_FRONTENDS_REP" => Some(Self::PickFrontendsRep),
460            "LOCATE_TOPIC_REQ" => Some(Self::LocateTopicReq),
461            "LOCATE_TOPIC_REP" => Some(Self::LocateTopicRep),
462            "RESOLVE_IP_REQ" => Some(Self::ResolveIpReq),
463            "RESOLVE_IP_REP" => Some(Self::ResolveIpRep),
464            _ => None,
465        }
466    }
467}
468#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
469#[repr(i32)]
470pub enum ErrorCode {
471    /// common error codes: 0~99
472    Ok = 0,
473    UnknownMsg = 1,
474    /// master error codes: 100~199
475    NotAllowedToRegisterFrontend = 100,
476    NotAllowedToRegisterBackend = 101,
477    NotAllowedToRegisterService = 102,
478    FailedToSetRoutes = 103,
479    FailedToPickFrontend = 104,
480    FailedToLocateTopic = 105,
481    MasterError = 199,
482    /// frontend error codes: 200~299
483    FailedToRequestService = 200,
484    FailedToRequestBackend = 201,
485    FrontendError = 299,
486    /// backend error codes: 300~399
487    FailedToPush = 300,
488    FailedToPull = 301,
489    UnknownTopic = 302,
490    BackendError = 399,
491    /// service error codes: 400~499
492    UnknownPath = 400,
493    ServiceError = 499,
494    /// client error codes: 500~599
495    ClientError = 599,
496}
497impl ErrorCode {
498    /// String value of the enum field names used in the ProtoBuf definition.
499    ///
500    /// The values are not transformed in any way and thus are considered stable
501    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
502    pub fn as_str_name(&self) -> &'static str {
503        match self {
504            ErrorCode::Ok => "OK",
505            ErrorCode::UnknownMsg => "UNKNOWN_MSG",
506            ErrorCode::NotAllowedToRegisterFrontend => "NOT_ALLOWED_TO_REGISTER_FRONTEND",
507            ErrorCode::NotAllowedToRegisterBackend => "NOT_ALLOWED_TO_REGISTER_BACKEND",
508            ErrorCode::NotAllowedToRegisterService => "NOT_ALLOWED_TO_REGISTER_SERVICE",
509            ErrorCode::FailedToSetRoutes => "FAILED_TO_SET_ROUTES",
510            ErrorCode::FailedToPickFrontend => "FAILED_TO_PICK_FRONTEND",
511            ErrorCode::FailedToLocateTopic => "FAILED_TO_LOCATE_TOPIC",
512            ErrorCode::MasterError => "MASTER_ERROR",
513            ErrorCode::FailedToRequestService => "FAILED_TO_REQUEST_SERVICE",
514            ErrorCode::FailedToRequestBackend => "FAILED_TO_REQUEST_BACKEND",
515            ErrorCode::FrontendError => "FRONTEND_ERROR",
516            ErrorCode::FailedToPush => "FAILED_TO_PUSH",
517            ErrorCode::FailedToPull => "FAILED_TO_PULL",
518            ErrorCode::UnknownTopic => "UNKNOWN_TOPIC",
519            ErrorCode::BackendError => "BACKEND_ERROR",
520            ErrorCode::UnknownPath => "UNKNOWN_PATH",
521            ErrorCode::ServiceError => "SERVICE_ERROR",
522            ErrorCode::ClientError => "CLIENT_ERROR",
523        }
524    }
525    /// Creates an enum from field names used in the ProtoBuf definition.
526    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
527        match value {
528            "OK" => Some(Self::Ok),
529            "UNKNOWN_MSG" => Some(Self::UnknownMsg),
530            "NOT_ALLOWED_TO_REGISTER_FRONTEND" => {
531                Some(Self::NotAllowedToRegisterFrontend)
532            }
533            "NOT_ALLOWED_TO_REGISTER_BACKEND" => Some(Self::NotAllowedToRegisterBackend),
534            "NOT_ALLOWED_TO_REGISTER_SERVICE" => Some(Self::NotAllowedToRegisterService),
535            "FAILED_TO_SET_ROUTES" => Some(Self::FailedToSetRoutes),
536            "FAILED_TO_PICK_FRONTEND" => Some(Self::FailedToPickFrontend),
537            "FAILED_TO_LOCATE_TOPIC" => Some(Self::FailedToLocateTopic),
538            "MASTER_ERROR" => Some(Self::MasterError),
539            "FAILED_TO_REQUEST_SERVICE" => Some(Self::FailedToRequestService),
540            "FAILED_TO_REQUEST_BACKEND" => Some(Self::FailedToRequestBackend),
541            "FRONTEND_ERROR" => Some(Self::FrontendError),
542            "FAILED_TO_PUSH" => Some(Self::FailedToPush),
543            "FAILED_TO_PULL" => Some(Self::FailedToPull),
544            "UNKNOWN_TOPIC" => Some(Self::UnknownTopic),
545            "BACKEND_ERROR" => Some(Self::BackendError),
546            "UNKNOWN_PATH" => Some(Self::UnknownPath),
547            "SERVICE_ERROR" => Some(Self::ServiceError),
548            "CLIENT_ERROR" => Some(Self::ClientError),
549            _ => None,
550        }
551    }
552}