use super::{connection, session};
use crate::transport::mock::seed::{Seed, Seedable};
pub(super) use crate::transport::mock::seed::seed;
pub const SESSION_TARGET: &str = "protocol-session";
pub const CONNECTION_TARGET: &str = "protocol-connection";
pub const ENVELOPE_TARGET: &str = "protocol-envelope";
impl Seedable for session::Action {
fn seed(&self, seed: &mut Seed) {
const COUNT: u32 = 20;
seed.variant(self.kind as u32, COUNT);
seed.byte(self.slot);
seed.byte(self.value);
seed.byte(self.budget);
}
}
impl Seedable for connection::Action {
fn seed(&self, seed: &mut Seed) {
const COUNT: u32 = 19;
seed.variant(self.kind as u32, COUNT);
seed.byte(self.slot);
seed.byte(self.value);
seed.byte(self.budget);
}
}
pub(super) fn envelope(input: &[u8]) {
crate::transport::mock::seed::write(ENVELOPE_TARGET, || input.to_vec());
}