pub struct ContainerHeader {
pub version: u16,
pub mime: AsciiString,
pub info: String,
pub size: u64,
}
Fields§
§version: u16
Version of the container. Always 0 for now.
mime: AsciiString
MIME type of the file.
info: String
UTF-8 description of the file.
size: u64
Container size, which is the sum of sizes of the individual chunks.
Consensus limitation of the container size is 43 bits: 19 bits for the number of chunks and up to 24 bits for chunk size. 19 bits for the max number of chunks comes from the fact that the total size of the container index must be below 2^24 bytes (to fit into a LN packet); since the size of the chunk id is 2^5 (32) bits, and the maximum Bifrost packet size is 2^24, we have only 24-5=19 bits to store the chunk index.
Trait Implementations§
Source§impl AsAny for ContainerHeader
impl AsAny for ContainerHeader
Source§impl Clone for ContainerHeader
impl Clone for ContainerHeader
Source§fn clone(&self) -> ContainerHeader
fn clone(&self) -> ContainerHeader
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ContainerHeader
impl Debug for ContainerHeader
Source§impl Hash for ContainerHeader
impl Hash for ContainerHeader
Source§impl Ord for ContainerHeader
impl Ord for ContainerHeader
Source§fn cmp(&self, other: &ContainerHeader) -> Ordering
fn cmp(&self, other: &ContainerHeader) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ContainerHeader
impl PartialEq for ContainerHeader
Source§impl PartialOrd for ContainerHeader
impl PartialOrd for ContainerHeader
Source§impl StrictDecode for ContainerHeader
impl StrictDecode for ContainerHeader
Source§fn strict_decode<D: Read>(d: D) -> Result<Self, Error>
fn strict_decode<D: Read>(d: D) -> Result<Self, Error>
Decode with the given
std::io::Read
instance; must either
construct an instance or return implementation-specific error type.Source§fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>
fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>
Tries to deserialize byte array into the current type using
StrictDecode::strict_decode
. If there are some data remains in the
buffer once deserialization is completed, fails with
Error::DataNotEntirelyConsumed
. Use io::Cursor
over the buffer and
StrictDecode::strict_decode
to avoid such failures.Source§fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>
fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>
Reads data from file at
path
and reconstructs object from it. Fails
with Error::DataNotEntirelyConsumed
if file contains remaining
data after the object reconstruction.Source§impl StrictEncode for ContainerHeader
impl StrictEncode for ContainerHeader
Source§fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>
fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>
Encode with the given
std::io::Write
instance; must return result
with either amount of bytes encoded – or implementation-specific
error type.Source§fn strict_serialize(&self) -> Result<Vec<u8>, Error>
fn strict_serialize(&self) -> Result<Vec<u8>, Error>
Serializes data as a byte array using
StrictEncode::strict_encode
functionimpl Eq for ContainerHeader
impl StructuralPartialEq for ContainerHeader
Auto Trait Implementations§
impl Freeze for ContainerHeader
impl RefUnwindSafe for ContainerHeader
impl Send for ContainerHeader
impl Sync for ContainerHeader
impl Unpin for ContainerHeader
impl UnwindSafe for ContainerHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more