Files
@ 64ef56fc060f
Branch filter:
Location: CSY/reowolf/src/runtime2/communication.rs - annotation
64ef56fc060f
585 B
application/rls-services+xml
WIP: Work on MPSC queue, pending bugfixes
Works in single threaded fashion, some issues in multithreaded
stresstest require fixing.
Works in single threaded fashion, some issues in multithreaded
stresstest require fixing.
0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 0e1a76667937 | use super::runtime::*;
#[derive(Copy, Clone)]
pub struct PortId(pub u32);
impl PortId {
pub fn new_invalid() -> Self {
return Self(u32::MAX);
}
}
pub struct Peer {
pub id: CompId,
pub(crate) handle: CompHandle,
}
pub enum PortKind {
Putter,
Getter,
}
pub enum PortState {
Open,
Closed,
}
pub struct Port {
pub self_id: PortId,
pub peer_id: PortId,
pub kind: PortKind,
pub state: PortState,
pub local_peer_index: u32,
}
/// Public inbox: accessible by all threads. Essentially a MPSC channel
pub struct InboxPublic {
}
|