pub struct EdgeProps { /* private fields */ }Expand description
Edge-property overlay.
After a V8 snapshot open the base properties live in the mmap’d section 5
(ArchivedEdgeProps). Only post-snapshot changes land here. Deletions of
base-only edges are recorded in tombstones so the view layer can mask them
without materialising the full base into RAM.
Implementations§
Source§impl EdgeProps
impl EdgeProps
pub fn new() -> Self
pub fn set(&mut self, etype: u32, src: u32, dst: u32, field: &str, value: Value)
pub fn get(&self, etype: u32, src: u32, dst: u32, field: &str) -> Option<&Value>
Sourcepub fn remove_edge(&mut self, etype: u32, src: u32, dst: u32)
pub fn remove_edge(&mut self, etype: u32, src: u32, dst: u32)
Remove an edge’s props from the overlay and record a tombstone so that archive lookups for this key are also masked.
Sourcepub fn is_tombstoned(&self, etype: u32, src: u32, dst: u32) -> bool
pub fn is_tombstoned(&self, etype: u32, src: u32, dst: u32) -> bool
True if (etype, src, dst) is tombstoned (deleted from overlay or base).
Sourcepub fn is_clean(&self) -> bool
pub fn is_clean(&self) -> bool
True when this overlay has no entries and no tombstones (i.e. nothing has changed since the last snapshot). Used to short-circuit the edge-props section passthrough during snapshot merging.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EdgeProps
impl<'de> Deserialize<'de> for EdgeProps
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
Auto Trait Implementations§
impl Freeze for EdgeProps
impl RefUnwindSafe for EdgeProps
impl Send for EdgeProps
impl Sync for EdgeProps
impl Unpin for EdgeProps
impl UnsafeUnpin for EdgeProps
impl UnwindSafe for EdgeProps
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.