mod remote;
mod server;
#[doc(inline)]
pub use server::{TcpStateServer, TcpStateServerError};
#[doc(inline)]
pub use remote::TcpStateRemote;
#[derive(serde::Serialize, serde::Deserialize, Debug)]
pub enum TcpStateServerRequest {
GetUpdateId { hash: [u8; 32] },
Event { hash: [u8; 32], evt_data: Vec<u8> },
GetDiff {
hash: [u8; 32],
from_update_id: u64,
upto_update_id: u64,
},
Init { hash: [u8; 32], init_data: Vec<u8> },
}
#[derive(serde::Serialize, serde::Deserialize, Debug)]
pub struct TcpStateServerRequestWrapper {
password: Vec<u8>,
event: TcpStateServerRequest,
}
#[derive(serde::Serialize, serde::Deserialize, Debug)]
pub enum TcpStateServerResponse {
IncorrectPassword,
UpdateId {
update_id: u64,
},
HashNotFound,
EventInProcess,
InitSuccess,
HashMismatch,
Diff {
from_update_id: u64,
upto_update_id: u64,
is_full: bool,
encoded_diff: Vec<u8>,
},
InitFailure {
error_message: String,
},
}