moves code into the api layer
This commit is contained in:
34
api/src/messages/mod.rs
Normal file
34
api/src/messages/mod.rs
Normal file
@@ -0,0 +1,34 @@
|
||||
pub mod payload;
|
||||
pub mod telemetry_definition;
|
||||
pub mod telemetry_entry;
|
||||
|
||||
use payload::{RequestMessagePayload, ResponseMessagePayload};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use uuid::Uuid;
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct RequestMessage {
|
||||
pub uuid: Uuid,
|
||||
pub response: Option<Uuid>,
|
||||
#[serde(flatten)]
|
||||
pub payload: RequestMessagePayload,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ResponseMessage {
|
||||
pub uuid: Uuid,
|
||||
pub response: Option<Uuid>,
|
||||
#[serde(flatten)]
|
||||
pub payload: ResponseMessagePayload,
|
||||
}
|
||||
|
||||
pub trait ClientMessage: Into<RequestMessagePayload> {}
|
||||
|
||||
pub trait RequestResponse: Into<RequestMessagePayload> {
|
||||
type Response: TryFrom<ResponseMessagePayload>;
|
||||
}
|
||||
|
||||
// pub trait RegisterCallback {
|
||||
// type Callback : TryFrom<ResponseMessagePayload>;
|
||||
// type Response : Into<RequestMessagePayload>;
|
||||
// }
|
||||
Reference in New Issue
Block a user