neuronbox_runtime/
protocol.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5pub const SWAP_SIGNAL_FILE_VERSION: u32 = 1;
7
8#[derive(Debug, Serialize, Deserialize)]
10#[serde(tag = "method", rename_all = "snake_case")]
11pub enum DaemonRequest {
12 Ping,
13 RegisterSession {
14 name: String,
15 estimated_vram_mb: u64,
16 pid: u32,
17 #[serde(default)]
18 tokens_per_sec: Option<f64>,
19 },
20 UnregisterSession {
21 pid: u32,
22 },
23 ListSessions,
24 Stats,
25 SwapModel {
26 model_ref: String,
27 #[serde(default)]
28 quantization: Option<String>,
29 },
30 Version {
31 v: u32,
32 },
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct ActiveModelInfo {
38 pub model_ref: String,
39 #[serde(default)]
40 pub quantization: Option<String>,
41}
42
43#[derive(Debug, Serialize, Deserialize)]
44#[serde(tag = "response", rename_all = "snake_case")]
45pub enum DaemonResponse {
46 Pong,
47 Registered {
48 pid: u32,
49 },
50 Unregistered,
51 Sessions {
52 sessions: Vec<SessionInfo>,
53 },
54 Stats {
55 sessions: Vec<SessionInfo>,
56 #[serde(default)]
57 gpu_lines: Vec<String>,
58 #[serde(default)]
59 note: Option<String>,
60 #[serde(default)]
62 active_model: Option<ActiveModelInfo>,
63 #[serde(default)]
65 vram_used_by_pid: HashMap<u32, u64>,
66 },
67 Swapped {
68 model_ref: String,
69 #[serde(default)]
70 quantization: Option<String>,
71 },
72 VersionInfo {
73 v: u32,
74 },
75 Error {
76 message: String,
77 },
78}
79
80#[derive(Debug, Clone, Serialize, Deserialize)]
81pub struct SessionInfo {
82 pub name: String,
83 pub pid: u32,
84 pub estimated_vram_mb: u64,
85 #[serde(default)]
86 pub tokens_per_sec: Option<f64>,
87}