use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum RuntimeEventData {
InitCall {
params: String,
},
InitResult {
success: bool,
},
StartupCall {
config_summary: String,
},
StartupResult {
success: bool,
},
ShutdownCall {
data: Option<Vec<u8>>,
},
ShutdownRequested {
success: bool,
},
ShuttingDown {},
StateChangeCall {
old_state: String,
new_state: String,
},
StateChangeResult {
success: bool,
},
Log {
level: String,
message: String,
},
Error {
operation: String,
message: String,
context: Option<String>,
},
HandlerSetupStart,
HandlerSetupSuccess,
HandlerSetupError {
error: String,
step: String,
},
LinkerInstanceSuccess,
FunctionSetupStart {
function_name: String,
},
FunctionSetupSuccess {
function_name: String,
},
}
pub struct RuntimeEvent {
pub data: RuntimeEventData,
pub timestamp: u64,
pub description: Option<String>,
}