1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use fluvio_protocol::{Decoder, Encoder, api::Request};

use crate::COMMON_VERSION;

use super::SpuServerApiKey;

/// Request to start mirror request
/// After this, SPU to SPU will use internal mirror protocol
/// This should be moved to Fluvio
#[derive(Decoder, Encoder, Default, Debug)]
pub struct StartMirrorRequest {
    pub remote_replica: String,
    pub remote_cluster_id: String,
    pub access_key: String,
}

impl Request for StartMirrorRequest {
    const API_KEY: u16 = SpuServerApiKey::StartMirror as u16;
    const DEFAULT_API_VERSION: i16 = COMMON_VERSION;
    type Response = StartMirrorResponse;
}

#[derive(Decoder, Encoder, Default, Debug)]
pub struct StartMirrorResponse;