cc_lb_plugin_wire/v1/
observe.rs1extern crate alloc;
2
3use alloc::vec::Vec;
4use serde::{Deserialize, Serialize};
5
6use crate::v1::common::ObserveEventWire;
7use crate::wire_function::{FallbackPolicy, WireFunction};
8
9#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
10#[serde(deny_unknown_fields)]
11pub struct ObserveRequest {
12 pub events: Vec<ObserveEventWire>,
13}
14
15impl ObserveRequest {
16 pub fn dry_run_sample() -> Self {
17 Self { events: Vec::new() }
18 }
19}
20
21#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
22#[serde(deny_unknown_fields)]
23pub struct ObserveResponse {}
24
25impl ObserveResponse {
26 pub fn dry_run_sample() -> Self {
27 Self {}
28 }
29}
30
31pub struct ObserveFn;
32
33impl WireFunction for ObserveFn {
34 const NAME: &'static str = "observe";
35 const FALLBACK: FallbackPolicy = FallbackPolicy::SilentSkip;
36 const SUPPORTED_VERSIONS: &'static [u32] = &[1];
37
38 type Request = ObserveRequest;
39 type Response = ObserveResponse;
40
41 fn dry_run_request() -> Self::Request {
42 ObserveRequest::dry_run_sample()
43 }
44
45 fn dry_run_response() -> Self::Response {
46 ObserveResponse::dry_run_sample()
47 }
48}