Struct NerveSystem

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

Main system integration structure

Provides unified access to all Nerve Framework components and manages their integration and resource sharing.

Implementations§

Source§

impl NerveSystem

Source

pub fn new() -> SystemResult<Self>

Create a new Nerve System with default configuration

Source

pub fn with_config(config: SystemConfig) -> SystemResult<Self>

Create a new Nerve System with custom configuration

Source

pub fn get_statistics(&self) -> SystemStatistics

Get system performance statistics

Source

pub fn config(&self) -> &SystemConfig

Get system configuration

Source

pub fn memory_pool(&self) -> &Arc<dyn MemoryPool<Vec<u8>>>

Get memory pool reference

Source

pub fn message_buffer(&self) -> &Arc<dyn MessageBuffer<Message>>

Get message buffer reference

Source

pub fn thread_coordinator(&self) -> &Arc<dyn ThreadCoordinator>

Get thread coordinator reference

Source

pub fn thread_watchdog(&self) -> &Arc<dyn ThreadWatchdog>

Get thread watchdog reference

Source

pub fn node_registry(&self) -> &Arc<dyn NodeRegistry>

Get node registry reference

Source

pub fn message_router(&self) -> &Arc<dyn MessageRouter>

Get message router reference

Source

pub fn subscription_manager(&self) -> &Arc<dyn SubscriptionManager>

Get subscription manager reference

Source

pub fn publisher(&self) -> &Arc<dyn Publisher>

Get publisher reference

Source

pub fn request_response(&self) -> &Arc<dyn RequestResponse>

Get request-response protocol handler reference

Source

pub fn is_healthy(&self) -> bool

Check if system is healthy

Source

pub fn health_status(&self) -> String

Get system health status

Source

pub fn reset_statistics(&self)

Reset performance statistics

Source

pub fn process_message(&self, topic: &str, payload: Vec<u8>) -> SystemResult<()>

Unified message processing - integrated message flow through all components

This demonstrates the integrated message flow through all components:

  1. Memory allocation from memory pool
  2. Message creation and storage in buffer
  3. Thread coordination for processing
  4. Message routing through communication system
  5. Delivery to subscribers via publisher
Source

pub fn get_system_status(&self) -> SystemStatus

Get system status with integrated component health

Source

pub fn shutdown(self) -> SystemResult<()>

Shutdown the system gracefully

Trait Implementations§

Source§

impl Default for NerveSystem

Source§

fn default() -> Self

Returns the “default value” for a type. 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.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

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.