// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // Copyright by contributors to this project. // SPDX-License-Identifier: (Apache-2.0 OR MIT)
/// Optimized length calculation for types that can be represented as u8 slices. pubfn mls_encoded_len<T>(data: &T) -> usize where
T: AsRef<[u8]>,
{ fn slice_len(data: &[u8]) -> usize { let len = data.len(); let header_length = VarInt::try_from(len).unwrap_or(VarInt(0)).mls_encoded_len();
header_length + len
}
slice_len(data.as_ref())
}
/// Optimized encoding for types that can be represented as u8 slices. pubfn mls_encode<T>(data: &T, writer: &mut Vec<u8>) -> Result<(), Error> where
T: AsRef<[u8]>,
{ fn encode_slice(data: &[u8], writer: &mut Vec<u8>) -> Result<(), Error> { let len = VarInt::try_from(data.len())?;
/// Optimized decoding for types that can be represented as `Vec<u8>` pubfn mls_decode<T>(reader: &mut &[u8]) -> Result<T, crate::Error> where
T: From<Vec<u8>>,
{ fn decode_vec(reader: &mut &[u8]) -> Result<Vec<u8>, crate::Error> { let (data, rest) = mls_decode_split_on_collection(reader)?;
*reader = rest;
Ok(data.to_vec())
}
let out = decode_vec(reader)?;
Ok(out.into())
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-06-18)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.