pub struct SerializableInternedManifest {Show 15 fields
pub string_table: Vec<String>,
pub names: Vec<Option<u32>>,
pub full_names: Vec<Option<u32>>,
pub owners: Vec<Option<u32>>,
pub package_urls: Vec<Option<u32>>,
pub dates_created: Vec<OffsetDateTime>,
pub dates_updated: Vec<OffsetDateTime>,
pub uuid4s: Vec<Option<u32>>,
pub rating_scores: Vec<Option<u32>>,
pub is_pinned: Vec<Option<bool>>,
pub is_deprecated: Vec<Option<bool>>,
pub has_nsfw_content: Vec<Option<bool>>,
pub categories: Vec<Vec<u32>>,
pub version_ranges: Vec<(usize, usize)>,
pub versions: SerializableInternedVersionManifest,
}Expand description
Serializable representation of an interned package manifest.
This structure converts the runtime InternedPackageManifest into a format that can be efficiently serialized and deserialized. The string interner is converted to a simple vector of strings (the string table), and all interned keys become u32 indices into this table.
This separation allows for optimal serialization performance while maintaining the memory efficiency benefits of string interning at runtime.
Fields§
§string_table: Vec<String>§names: Vec<Option<u32>>§full_names: Vec<Option<u32>>§owners: Vec<Option<u32>>§package_urls: Vec<Option<u32>>§dates_created: Vec<OffsetDateTime>§dates_updated: Vec<OffsetDateTime>§uuid4s: Vec<Option<u32>>§rating_scores: Vec<Option<u32>>§is_pinned: Vec<Option<bool>>§is_deprecated: Vec<Option<bool>>§has_nsfw_content: Vec<Option<bool>>§categories: Vec<Vec<u32>>§version_ranges: Vec<(usize, usize)>§versions: SerializableInternedVersionManifestTrait Implementations§
Source§impl Clone for SerializableInternedManifest
impl Clone for SerializableInternedManifest
Source§fn clone(&self) -> SerializableInternedManifest
fn clone(&self) -> SerializableInternedManifest
Returns a duplicate 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 SerializableInternedManifest
impl Debug for SerializableInternedManifest
Source§impl<'de> Deserialize<'de> for SerializableInternedManifest
impl<'de> Deserialize<'de> for SerializableInternedManifest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&InternedPackageManifest> for SerializableInternedManifest
impl From<&InternedPackageManifest> for SerializableInternedManifest
Source§fn from(manifest: &InternedPackageManifest) -> Self
fn from(manifest: &InternedPackageManifest) -> Self
Converts to this type from the input type.
Source§impl From<SerializableInternedManifest> for InternedPackageManifest
impl From<SerializableInternedManifest> for InternedPackageManifest
Source§fn from(manifest: SerializableInternedManifest) -> Self
fn from(manifest: SerializableInternedManifest) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for SerializableInternedManifest
impl RefUnwindSafe for SerializableInternedManifest
impl Send for SerializableInternedManifest
impl Sync for SerializableInternedManifest
impl Unpin for SerializableInternedManifest
impl UnsafeUnpin for SerializableInternedManifest
impl UnwindSafe for SerializableInternedManifest
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