repl: Pass session id to kernel connections (#15389)

Updated runtimelib to 0.14 and passed a kernel session ID through to
identify our client.

Release Notes:

- N/A
This commit is contained in:
Kyle Kelley
2024-07-28 14:37:25 -07:00
committed by GitHub
parent 771a7bb4b6
commit bb188f673e
4 changed files with 27 additions and 6 deletions
+12 -3
View File
@@ -19,6 +19,7 @@ use std::{
path::PathBuf,
sync::Arc,
};
use uuid::Uuid;
#[derive(Debug, Clone)]
pub struct KernelSpecification {
@@ -228,9 +229,17 @@ impl RunningKernel {
.spawn()
.context("failed to start the kernel process")?;
let mut iopub_socket = connection_info.create_client_iopub_connection("").await?;
let mut shell_socket = connection_info.create_client_shell_connection().await?;
let mut control_socket = connection_info.create_client_control_connection().await?;
let session_id = Uuid::new_v4().to_string();
let mut iopub_socket = connection_info
.create_client_iopub_connection("", &session_id)
.await?;
let mut shell_socket = connection_info
.create_client_shell_connection(&session_id)
.await?;
let mut control_socket = connection_info
.create_client_control_connection(&session_id)
.await?;
let (mut iopub, iosub) = futures::channel::mpsc::channel(100);
+12
View File
@@ -305,6 +305,18 @@ impl Session {
.ok();
}
});
// todo!(kyle): send kernelinforequest once our shell channel read/writes are split
// cx.spawn(|this, mut cx| async move {
// cx.background_executor()
// .timer(Duration::from_millis(120))
// .await;
// this.update(&mut cx, |this, cx| {
// this.send(KernelInfoRequest {}.into(), cx).ok();
// })
// .ok();
// })
// .detach();
})
.ok();
}