pub struct NumaStreamProcessor { /* private fields */ }Expand description
NUMA-aware stream processor
Implementations§
Source§impl NumaStreamProcessor
impl NumaStreamProcessor
Sourcepub async fn new(config: NumaConfig) -> Result<Self>
pub async fn new(config: NumaConfig) -> Result<Self>
Create a new NUMA stream processor
Sourcepub async fn process_event(
&self,
data: &[u8],
preferred_node: Option<usize>,
) -> Result<Vec<u8>>
pub async fn process_event( &self, data: &[u8], preferred_node: Option<usize>, ) -> Result<Vec<u8>>
Process an event with NUMA awareness
Sourcepub async fn process_batch(
&self,
events: Vec<Vec<u8>>,
preferred_node: Option<usize>,
) -> Result<Vec<Vec<u8>>>
pub async fn process_batch( &self, events: Vec<Vec<u8>>, preferred_node: Option<usize>, ) -> Result<Vec<Vec<u8>>>
Process a batch of events
Sourcepub async fn get_stats(&self) -> NumaProcessorStats
pub async fn get_stats(&self) -> NumaProcessorStats
Get processor statistics
Sourcepub async fn get_buffer_pool_stats(&self) -> NumaBufferPoolStats
pub async fn get_buffer_pool_stats(&self) -> NumaBufferPoolStats
Get buffer pool statistics
Sourcepub async fn get_thread_pool_stats(&self) -> NumaThreadPoolStats
pub async fn get_thread_pool_stats(&self) -> NumaThreadPoolStats
Get thread pool statistics
Sourcepub fn get_topology(&self) -> &NumaTopology
pub fn get_topology(&self) -> &NumaTopology
Get NUMA topology
Sourcepub fn get_config(&self) -> &NumaConfig
pub fn get_config(&self) -> &NumaConfig
Get configuration
Sourcepub fn get_node_for_cpu(&self, cpu: usize) -> Option<usize>
pub fn get_node_for_cpu(&self, cpu: usize) -> Option<usize>
Get the optimal node for a given CPU
Sourcepub fn get_node_distance(&self, from: usize, to: usize) -> u32
pub fn get_node_distance(&self, from: usize, to: usize) -> u32
Get the distance between two nodes
Sourcepub async fn find_closest_available_node(&self, from: usize) -> usize
pub async fn find_closest_available_node(&self, from: usize) -> usize
Find the closest node with available resources
Auto Trait Implementations§
impl Freeze for NumaStreamProcessor
impl !RefUnwindSafe for NumaStreamProcessor
impl Send for NumaStreamProcessor
impl Sync for NumaStreamProcessor
impl Unpin for NumaStreamProcessor
impl UnsafeUnpin for NumaStreamProcessor
impl !UnwindSafe for NumaStreamProcessor
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.