MCPcopy Create free account
hub / github.com/Botloader/botloader / connect_scheduler

Function connect_scheduler

components/vmworker/src/lib.rs:425–457  ·  view source on GitHub ↗
(
    path: &str,
    id: u64,
)

Source from the content-addressed store, hash-verified

423
424#[cfg(target_family = "unix")]
425async fn connect_scheduler(
426 path: &str,
427 id: u64,
428) -> (
429 mpsc::UnboundedSender<WorkerMessage>,
430 mpsc::UnboundedReceiver<SchedulerMessage>,
431) {
432 let mut stream = tokio::net::UnixStream::connect(path)
433 .await
434 .expect("scheduler should have opened socket");
435
436 simpleproto::write_message(&WorkerMessage::Hello(id), &mut stream)
437 .await
438 .expect("should write to scheduler successfully");
439
440 let (mut reader_half, mut writer_half) = stream.into_split();
441
442 let scheduler_rx = {
443 let (tx, rx) = mpsc::unbounded_channel::<SchedulerMessage>();
444
445 tokio::spawn(async move { simpleproto::message_reader(&mut reader_half, tx).await });
446 rx
447 };
448
449 let scheduler_tx = {
450 let (tx, rx) = mpsc::unbounded_channel::<WorkerMessage>();
451 tokio::spawn(async move { simpleproto::message_writer(&mut writer_half, rx).await });
452
453 tx
454 };
455
456 (scheduler_tx, scheduler_rx)
457}
458
459#[cfg(target_family = "windows")]
460async fn connect_scheduler(

Callers 1

runFunction · 0.85

Calls 4

connectFunction · 0.85
write_messageFunction · 0.85
message_readerFunction · 0.85
message_writerFunction · 0.85

Tested by

no test coverage detected