Struct veloren_network::scheduler::Scheduler
source · pub struct Scheduler {
local_pid: Pid,
local_secret: u128,
closed: AtomicBool,
run_channels: Option<ControlChannels>,
participant_channels: Arc<Mutex<Option<ParticipantChannels>>>,
participants: Arc<Mutex<HashMap<Pid, ParticipantInfo>>>,
channel_ids: Arc<AtomicU64>,
channel_listener: Mutex<HashMap<ProtocolInfo, Sender<()>>>,
metrics: Arc<NetworkMetrics>,
protocol_metrics: Arc<ProtocolMetrics>,
}
Fields§
§local_pid: Pid
§local_secret: u128
§closed: AtomicBool
§run_channels: Option<ControlChannels>
§participant_channels: Arc<Mutex<Option<ParticipantChannels>>>
§participants: Arc<Mutex<HashMap<Pid, ParticipantInfo>>>
§channel_ids: Arc<AtomicU64>
§channel_listener: Mutex<HashMap<ProtocolInfo, Sender<()>>>
§metrics: Arc<NetworkMetrics>
§protocol_metrics: Arc<ProtocolMetrics>
Implementations§
source§impl Scheduler
impl Scheduler
pub fn new( local_pid: Pid, registry: Option<&Registry> ) -> (Self, UnboundedSender<(ListenAddr, Sender<Result<()>>)>, UnboundedSender<(ConnectAddr, Sender<Result<Participant, NetworkConnectError>>)>, UnboundedReceiver<Participant>, Sender<()>)
pub async fn run(self)
async fn listen_mgr( &self, a2s_listen_r: UnboundedReceiver<(ListenAddr, Sender<Result<()>>)> )
async fn connect_mgr( &self, a2s_connect_r: UnboundedReceiver<(ConnectAddr, Sender<Result<Participant, NetworkConnectError>>)> )
async fn disconnect_mgr( &self, a2s_disconnect_r: UnboundedReceiver<(Pid, (Duration, Sender<Result<(), ParticipantError>>))> )
async fn prio_adj_mgr( &self, b2s_prio_statistic_r: UnboundedReceiver<(Pid, u64, u64)> )
async fn scheduler_shutdown_mgr(&self, a2s_scheduler_shutdown_r: Receiver<()>)
async fn init_protocol( &self, protocol: Protocols, con_addr: ConnectAddr, cid: Cid, s2a_return_pid_s: Option<Sender<Result<Participant, NetworkConnectError>>>, send_handshake: bool )
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Scheduler
impl Send for Scheduler
impl Sync for Scheduler
impl Unpin for Scheduler
impl !UnwindSafe for Scheduler
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