Skip to main content

StreamingGraph

Struct StreamingGraph 

Source
pub struct StreamingGraph { /* private fields */ }
Expand description

A streaming graph that supports incremental edge additions and deletions.

Maintains an adjacency set representation that is updated incrementally. Tracks basic statistics like degree distribution, edge count, and node count.

Implementations§

Source§

impl StreamingGraph

Source

pub fn new(directed: bool) -> Self

Create a new empty streaming graph.

Source

pub fn process_event(&mut self, event: &StreamEvent)

Process a stream event (insert or delete an edge).

Source

pub fn insert_edge(&mut self, src: usize, dst: usize, weight: f64)

Insert an edge into the graph.

Source

pub fn delete_edge(&mut self, src: usize, dst: usize)

Delete an edge from the graph.

Source

pub fn has_edge(&self, src: usize, dst: usize) -> bool

Check if an edge exists.

Source

pub fn degree(&self, node: usize) -> usize

Get the degree of a node.

Source

pub fn num_nodes(&self) -> usize

Get the number of nodes.

Source

pub fn num_edges(&self) -> usize

Get the number of edges.

Source

pub fn events_processed(&self) -> u64

Get the number of events processed.

Source

pub fn neighbors(&self, node: usize) -> Vec<(usize, f64)>

Get neighbors of a node.

Source

pub fn degree_distribution(&self) -> DegreeDistribution

Get the degree distribution as a histogram.

Source

pub fn to_csr(&self) -> Result<CsrGraph>

Snapshot the current graph state as a CSR graph.

Trait Implementations§

Source§

impl Debug for StreamingGraph

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V