1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
use crate::{Result, ResultExt}; use serde::{Deserialize, Serialize}; #[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum RequestMessage { Ping { v: u64 }, GetVersion, DebugInfo { info: String }, RefreshSchema, BeginTransaction, RollbackTransaction, CommitTransaction } impl RequestMessage { pub fn from_json(s: &str) -> Result<RequestMessage> { serde_json::from_str(&s).chain_err(|| format!("Can't decode RequestMessage from [{}]", s)) } pub fn to_json(&self) -> Result<String> { serde_json::to_string_pretty(&self).chain_err(|| "Can't encode RequestMessage") } }