1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#![allow(clippy::assign_op_pattern)]

use std::fmt;

use dataplane::api::Request;
use dataplane::derive::Decode;
use dataplane::derive::Encode;
use fluvio_controlplane_metadata::partition::ReplicaKey;

use crate::InternalScKey;

/// Confirmation of Replica replica
#[derive(Decode, Encode, Debug, Default, Clone)]
pub struct ReplicaRemovedRequest {
    pub id: ReplicaKey,
    pub confirm: bool, // replica remove confirmed
}

impl ReplicaRemovedRequest {
    pub fn new(id: ReplicaKey, confirm: bool) -> Self {
        Self { id, confirm }
    }
}

impl fmt::Display for ReplicaRemovedRequest {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "replica delete {}, confirm: {}", self.id, self.confirm)
    }
}

impl Request for ReplicaRemovedRequest {
    const API_KEY: u16 = InternalScKey::ReplicaRemoved as u16;
    type Response = ReplicaRemovedResponse;
}

#[derive(Decode, Encode, Default, Debug)]
pub struct ReplicaRemovedResponse {}