Skip to main content

neug_protocol/
lib.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug)]
4pub enum RequestPayload {
5    OpenDb {
6        path: String,
7        mode: String,
8        max_thread_num: usize,
9        checkpoint_on_close: bool,
10    },
11    Connect {
12        db_id: u64,
13    },
14    Execute {
15        conn_id: u64,
16        query: String,
17    },
18    CloseConn {
19        conn_id: u64,
20    },
21    CloseDb {
22        db_id: u64,
23    },
24}
25
26#[derive(Serialize, Deserialize, Debug)]
27pub struct Request {
28    pub req_id: u64,
29    pub payload: RequestPayload,
30}
31
32#[derive(Serialize, Deserialize, Debug)]
33pub enum ResponsePayload {
34    OkDb { db_id: u64 },
35    OkConn { conn_id: u64 },
36    OkResult { result_string: String },
37    Error(String),
38}
39
40#[derive(Serialize, Deserialize, Debug)]
41pub struct Response {
42    pub req_id: u64,
43    pub payload: ResponsePayload,
44}