Macro cancel

Source
macro_rules! cancel {
    ($request_id: expr) => { ... };
    ($request_id: expr, $options:expr) => { ... };
}
Expand description

§Cancel Macro - wamp-proto

Macro that allows for default empty implementation of options object on Cabcel.

§Examples

use wamp_core::messages::{self, Cancel};
use wamp_core::cancel;
use serde_json::json;

// Construct with default empty options object
let request_id = 1;
let mut cancel_message = cancel!(request_id);
assert_eq!(cancel_message.options, json!({}));

// Construct with custom options
let cancel_message2 = cancel!(1, json!({
    "key": "value"
}));

assert_ne!(cancel_message, cancel_message2);
cancel_message.options = json!({ "key": "value" });
assert_eq!(cancel_message, cancel_message2);

// These macro invocations are the same as the following:
let cancel_message3 = Cancel {
    request_id: 1,
    options: json!({
        "key": "value"
    })
};

assert_eq!(cancel_message, cancel_message3);
assert_eq!(cancel_message2, cancel_message3);