axon_core 0.1.0

Core library for axon
Documentation
pub trait AxonObject {
    fn axon_object_type() -> u32;
}

pub trait AxonVariant {
    fn axon_variant_type() -> u32;
}

pub trait AxonEvent {
    fn axon_event_type() -> u32;
}

pub enum AxonReceiveEvent {
    None,
    AddClient {
        client_id: u64,
    },
    RemoveClient {
        client_id: u64,
    },
    Invoke {
        client_id: u64,
        id: u64,
        t: u32,
        v: Vec<u8>,
    },
}

pub trait IAxonContext {
    fn spawn(&mut self, id: u64, t: u32);
    fn despawn(&mut self, id: u64);
    fn change(&mut self, id: u64, t: u32, v: &[u8]);
    fn invoke(&mut self, client_id: u64, id: u64, t: u32, v: &[u8]);
    fn broadcast(&mut self, id: u64, t: u32, v: &[u8]);
    fn update(&mut self, delta_time: std::time::Duration);
    fn receive_event(&mut self, events: &mut Vec<AxonReceiveEvent>);
    fn flush(&mut self);
}