From eec6d9f24cd436ea0f4bb1e878c3a653fdfa05c2 Mon Sep 17 00:00:00 2001 From: "Joseph C. Osborn" Date: Fri, 24 Oct 2025 13:53:37 -0700 Subject: [PATCH] initial commit --- .gitignore | 1 + Cargo.toml | 8 ++ examples/bobl.replay | Bin 0 -> 612144 bytes src/lib.rs | 26 ++++++ src/rply.rs | 201 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 236 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 examples/bobl.replay create mode 100644 src/lib.rs create mode 100644 src/rply.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..4cc66ef --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rply-codec" +version = "0.1.0" +edition = "2024" + +[dependencies] +rmp = "0.8.14" +thiserror = "2.0.17" diff --git a/examples/bobl.replay b/examples/bobl.replay new file mode 100644 index 0000000000000000000000000000000000000000..b5a1cd359525708b4eefb923e1b34535588aeac6 GIT binary patch literal 612144 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 literal 0 HcmV?d00001 diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..78e1d0a --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,26 @@ +mod rply; + +pub fn add(left: u64, right: u64) -> u64 { + left + right +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn v2_header() { + let mut file = std::fs::File::open("examples/bobl.replay").unwrap(); + let header = match rply::read_header(&mut file).unwrap() { + rply::Header::V0V1(_) => panic!("Version too low"), + rply::Header::V2(h) => h, + }; + // content_crc: 2199475946, + // initial_state_size: 2531, + // identifier: 1761326589, + assert_eq!(header.base.version, 2); + assert_eq!(header.base.content_crc, 2199475946); + assert_eq!(header.base.initial_state_size, 2531); + assert_eq!(header.base.identifier, 1761326589); + } +} diff --git a/src/rply.rs b/src/rply.rs new file mode 100644 index 0000000..ab193f7 --- /dev/null +++ b/src/rply.rs @@ -0,0 +1,201 @@ +#[repr(usize)] +pub enum HeaderV0V1Part { + Magic = 0, + Version = 4, + CRC = 8, + StateSize = 12, + Identifier = 16, + HeaderLen = 24, +} +#[repr(usize)] +enum HeaderV2Part { + Magic = 0, + Version = 4, + CRC = 8, + StateSize = 12, + Identifier = 16, + FrameCount = 24, + BlockSize = 28, + SuperblockSize = 32, + CheckpointConfig = 36, + HeaderLen = 40, +} +const HEADER_V0V1_LEN_BYTES: usize = HeaderV0V1Part::HeaderLen as usize; +const HEADER_LEN_BYTES: usize = HeaderV2Part::HeaderLen as usize; + +const VERSION: u32 = 2; +const MAGIC: u32 = 0x42535632; + +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug)] +pub enum FrameToken { + Invalid = 0, + Regular = b'f', + Checkpoint = b'c', + Checkpoint2 = b'C', +} + +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug)] +pub enum SSToken { + Start = 0, + NewBlock = 1, + NewSuperblock = 2, + SuperblockSeq = 3, +} + +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug)] +pub enum Compression { + None = 0, + Zlib = 1, + Zstd = 2, +} + +impl TryFrom for Compression {} + +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug)] +pub enum Encoding { + Raw = 0, + Statestream = 1, +} + +impl TryFrom for Encoding {} + +#[derive(Debug)] +pub struct HeaderBase { + pub version: u32, + pub content_crc: u32, + pub initial_state_size: u32, + pub identifier: u64, +} + +#[derive(Debug)] +pub struct HeaderV2 { + pub base: HeaderBase, + pub frame_count: u32, + pub block_size: u32, + pub superblock_size: u32, + pub checkpoint_commit_interval: u8, + pub checkpoint_commit_threshold: u8, + pub checkpoint_compression: Compression, +} + +#[derive(Debug)] +pub enum Header { + V0V1(HeaderBase), + V2(HeaderV2), +} + +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum ReplayError { + #[error("Invalid replay magic {0}")] + Magic(u32), + #[error("Unsupported version {0}")] + Version(u32), + #[error("Unsupported compression scheme {0}")] + Compression(u8), + #[error("I/O Error")] + IO(#[from] std::io::Error), +} + +type Result = std::result::Result; + +pub fn read_header(rply: &mut impl std::io::Read) -> Result

{ + let mut bytes = vec![0; HEADER_LEN_BYTES]; + rply.read_exact(&mut bytes[0..HEADER_V0V1_LEN_BYTES])?; + // These unwraps are safe because if I can take e.g. a slice of length 4, I already have a 4-byte value. + // And I know I can take those slices because read_exact read exactly 24 bytes. + let magic = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV0V1Part::Magic as usize)..(HeaderV0V1Part::Magic as usize + 4)], + ) + .unwrap(), + ); + if magic != MAGIC { + return Err(ReplayError::Magic(magic)); + } + let version = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV0V1Part::Version as usize)..(HeaderV0V1Part::Version as usize + 4)], + ) + .unwrap(), + ); + if version > 2 { + return Err(ReplayError::Version(version)); + } + let content_crc = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV0V1Part::CRC as usize)..(HeaderV0V1Part::CRC as usize + 4)], + ) + .unwrap(), + ); + let initial_state_size = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV0V1Part::StateSize as usize)..(HeaderV0V1Part::StateSize as usize + 4)], + ) + .unwrap(), + ); + let identifier = u64::from_le_bytes( + <[u8; 8]>::try_from( + &bytes + [(HeaderV0V1Part::Identifier as usize)..(HeaderV0V1Part::Identifier as usize + 8)], + ) + .unwrap(), + ); + let base = HeaderBase { + version, + content_crc, + initial_state_size, + identifier, + }; + if version < 2 { + return Ok(Header::V0V1(base)); + } + rply.read_exact(&mut bytes[HEADER_V0V1_LEN_BYTES..HEADER_LEN_BYTES]); + let frame_count = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV2Part::FrameCount as usize)..(HeaderV2Part::FrameCount as usize + 4)], + ) + .unwrap(), + ); + let block_size = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV2Part::BlockSize as usize)..(HeaderV2Part::BlockSize as usize + 4)], + ) + .unwrap(), + ); + let superblock_size = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV2Part::SuperblockSize as usize) + ..(HeaderV2Part::SuperblockSize as usize + 4)], + ) + .unwrap(), + ); + let cp_config = u32::from_le_bytes( + <[u8; 4]>::try_from( + &bytes[(HeaderV2Part::CheckpointConfig as usize) + ..(HeaderV2Part::CheckpointConfig as usize + 4)], + ) + .unwrap(), + ); + let checkpoint_commit_interval = (cp_config >> 24) as u8; + let checkpoint_commit_threshold = ((cp_config >> 16) & 0xFF) as u8; + let checkpoint_compression = Compression::try_from(((cp_config >> 8) & 0xFF) as u8)?; + Ok(Header::V2(HeaderV2 { + base, + frame_count, + block_size, + superblock_size, + checkpoint_commit_interval, + checkpoint_commit_threshold, + checkpoint_compression, + })) +}