use crate::rpc::rpc_internals::RpcHeader;
#[derive(PartialEq, Debug)]
pub struct RpcRequest {
pub rpc_method_id: u64,
pub rpc_param_bytes: Option<Vec<u8>>,
pub rpc_prebuffered_payload_bytes: Option<Vec<u8>>,
pub is_finalized: bool,
}
#[derive(PartialEq, Debug)]
pub struct RpcResponse {
pub rpc_request_id: u32,
pub rpc_method_id: u64,
pub rpc_result_status: Option<u8>,
pub rpc_prebuffered_payload_bytes: Option<Vec<u8>>,
pub is_finalized: bool,
}
impl RpcResponse {
pub fn from_rpc_header(rpc_header: &RpcHeader) -> RpcResponse {
RpcResponse {
rpc_request_id: rpc_header.rpc_request_id,
rpc_method_id: rpc_header.rpc_method_id,
rpc_result_status: {
match rpc_header.rpc_metadata_bytes.len() {
0 => None,
_ => Some(rpc_header.rpc_metadata_bytes[0]),
}
},
rpc_prebuffered_payload_bytes: None,
is_finalized: false, }
}
}