java-serialization 0.1.0

Java object serialization stream parser written in Rust
Documentation
/// Magic number written to the stream header.
pub const STREAM_MAGIC: u16 = 0xACED;

/// Version number written to the stream header.
pub const STREAM_VERSION: u16 = 5;

// Type codes (terminal symbols)

/// Null object reference.
pub const TC_NULL: u8 = 0x70;

/// Reference to an object already written into the stream.
pub const TC_REFERENCE: u8 = 0x71;

/// New Class Descriptor.
pub const TC_CLASSDESC: u8 = 0x72;

/// New Object.
pub const TC_OBJECT: u8 = 0x73;

/// New String.
pub const TC_STRING: u8 = 0x74;

/// New Array.
pub const TC_ARRAY: u8 = 0x75;

/// Reference to Class.
pub const TC_CLASS: u8 = 0x76;

/// Block of optional data (short).
pub const TC_BLOCKDATA: u8 = 0x77;

/// End of optional block data blocks.
pub const TC_ENDBLOCKDATA: u8 = 0x78;

/// Reset stream context.
pub const TC_RESET: u8 = 0x79;

/// Long block data.
pub const TC_BLOCKDATALONG: u8 = 0x7A;

/// Exception during write.
pub const TC_EXCEPTION: u8 = 0x7B;

/// Long string.
pub const TC_LONGSTRING: u8 = 0x7C;

/// New Proxy Class Descriptor.
pub const TC_PROXYCLASSDESC: u8 = 0x7D;

/// New Enum constant.
pub const TC_ENUM: u8 = 0x7E;

// Class descriptor flags

/// Serializable class defines writeObject method.
pub const SC_WRITE_METHOD: u8 = 0x01;

/// Class is Serializable.
pub const SC_SERIALIZABLE: u8 = 0x02;

/// Class is Externalizable.
pub const SC_EXTERNALIZABLE: u8 = 0x04;

/// Externalizable data written in Block Data mode.
pub const SC_BLOCK_DATA: u8 = 0x08;

/// Class is an enum type.
pub const SC_ENUM: u8 = 0x10;

/// First wire handle to be assigned.
pub const BASE_WIRE_HANDLE: u32 = 0x7E0000;