Macro bancho_packets::build
source[−]macro_rules! build {
($packet_id : expr) => { ... };
($packet_id : expr, $($data : expr), *) => { ... };
}Expand description
Creating osu!packet
The first parameter is always packet_id.
Two cases exist for the remaining parameters:
- When last parameters ending with a semicolon, it means origin data (impl OsuWrite trait).
- Otherwise it means packet data.
Examples:
use bancho_packets::{id, build, data, out_packet, write_traits::*};
// Origin data here (i32)
let data: i32 = 6;
build!(id::BANCHO_USER_STATS, data);
// Packet data here (Vec<u8>)
let data = vec![1, 2, 3];
build!(id::BANCHO_USER_STATS, data);
// Only packet_id
build!(id::BANCHO_USER_STATS);
// Complex
let user_id: i32 = 1000;
let username: &str = "PurePeace";
build!(
id::BANCHO_USER_PRESENCE,
data!(
user_id,
username
)
);