pub struct Request {
pub msg_type: String,
pub id: String,
pub op: Operation,
pub params: Value,
}Expand description
Request message envelope.
Fields§
§msg_type: StringMessage type, always “request”.
id: StringUnique request ID for correlation.
op: OperationOperation to perform.
params: ValueOperation-specific parameters.
Implementations§
Source§impl Request
impl Request
Sourcepub fn new(id: impl Into<String>, op: Operation) -> Self
pub fn new(id: impl Into<String>, op: Operation) -> Self
Creates a new request with empty params.
§Examples
use rstmdb_protocol::{Request, Operation};
use serde_json::json;
let req = Request::new("1", Operation::Ping);
assert_eq!(req.op, Operation::Ping);
let req = Request::new("2", Operation::GetInstance)
.with_params(json!({"instance_id": "order-001"}));pub fn with_params(self, params: Value) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Request
impl<'de> Deserialize<'de> for Request
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Request
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnsafeUnpin for Request
impl UnwindSafe for Request
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more