use crate::entry::EntryHeader;
use crate::error::DbResult;
pub trait ReplicationTarget: Send + Sync {
fn apply_entry(
&self,
shard_id: u8,
file_id: u32,
entry_offset: u64,
header: &EntryHeader,
key: &[u8],
value: &[u8],
) -> DbResult<()>;
fn try_apply_entry(
&self,
shard_id: u8,
file_id: u32,
entry_offset: u64,
header: &EntryHeader,
raw_after_header: &[u8],
) -> DbResult<bool>;
fn key_len(&self) -> usize;
}