Struct bancho_packets::PacketBuilder
source · pub struct PacketBuilder { /* private fields */ }Expand description
PacketBuilder can help pack bancho packets.
Usages:
use bancho_packets::{server, PacketBuilder, LoginResult};
let packet = PacketBuilder::new()
.add(server::login_reply(LoginResult::Success(1009)))
.add(server::protocol_version(19))
.add(server::notification("Welcome to osu!"))
.add(server::main_menu_icon(
"https://image.png",
"https://url.link",
))
.add(server::silence_end(0))
.add(server::channel_info_end())
.build();Implementations§
source§impl PacketBuilder
impl PacketBuilder
sourcepub fn new() -> Self
pub fn new() -> Self
Create an empty PacketBuilder.
sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create PacketBuilder with capacity.
sourcepub fn with_packet_id(packet_id: PacketId) -> Self
pub fn with_packet_id(packet_id: PacketId) -> Self
Create PacketBuilder with PacketId.
sourcepub fn build(self) -> Vec<u8>
pub fn build(self) -> Vec<u8>
Consume this PacketBuilder and return data.
pub fn buffer(&self) -> &Vec<u8>
pub fn buffer_mut(&mut self) -> &mut Vec<u8>
sourcepub fn from_batch<P, I>(packets: P) -> Selfwhere
I: IntoIterator<Item = u8>,
P: IntoIterator<Item = I>,
pub fn from_batch<P, I>(packets: P) -> Selfwhere
I: IntoIterator<Item = u8>,
P: IntoIterator<Item = I>,
Create a PacketBuilder from multiple packets.
sourcepub fn add_batch<P, I>(self, packets: P) -> Selfwhere
I: IntoIterator<Item = u8>,
P: IntoIterator<Item = I>,
pub fn add_batch<P, I>(self, packets: P) -> Selfwhere
I: IntoIterator<Item = u8>,
P: IntoIterator<Item = I>,
Batch add packets to PacketBuilder.
sourcepub fn add_batch_ref<P, I>(&mut self, packets: P) -> &Selfwhere
I: IntoIterator<Item = u8>,
P: IntoIterator<Item = I>,
pub fn add_batch_ref<P, I>(&mut self, packets: P) -> &Selfwhere
I: IntoIterator<Item = u8>,
P: IntoIterator<Item = I>,
Batch add packets to PacketBuilder.
sourcepub fn add<P>(self, packet: P) -> Selfwhere
P: IntoIterator<Item = u8>,
pub fn add<P>(self, packet: P) -> Selfwhere
P: IntoIterator<Item = u8>,
Add an packet to PacketBuilder.
sourcepub fn add_ref<P>(&mut self, packet: P) -> &Selfwhere
P: IntoIterator<Item = u8>,
pub fn add_ref<P>(&mut self, packet: P) -> &Selfwhere
P: IntoIterator<Item = u8>,
Add an packet to PacketBuilder.
Trait Implementations§
source§impl Clone for PacketBuilder
impl Clone for PacketBuilder
source§fn clone(&self) -> PacketBuilder
fn clone(&self) -> PacketBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more