pub struct RawConnection { /* private fields */ }
Expand description
A component for clients that can read and write packets to the server. This works with raw bytes, so you’ll have to serialize/deserialize packets yourself. It will do the compression and encryption for you though.
Implementations§
Source§impl RawConnection
impl RawConnection
pub fn new( run_schedule_sender: UnboundedSender<()>, connection_protocol: ConnectionProtocol, raw_read_connection: RawReadConnection, raw_write_connection: RawWriteConnection, ) -> RawConnection
pub fn write_raw_packet( &self, raw_packet: Vec<u8>, ) -> Result<(), WritePacketError>
Sourcepub fn write_packet<P>(&self, packet: P) -> Result<(), WritePacketError>where
P: ProtocolPacket + Debug,
pub fn write_packet<P>(&self, packet: P) -> Result<(), WritePacketError>where
P: ProtocolPacket + Debug,
Write the packet with the given state to the server.
§Errors
Returns an error if the packet is not valid for the current state, or if encoding it failed somehow (like it’s too big or something).
pub fn incoming_packet_queue(&self) -> Arc<Mutex<RawMutex, Vec<Vec<u8>>>>
pub fn set_state(&mut self, connection_protocol: ConnectionProtocol)
Trait Implementations§
Source§impl Component for RawConnection
impl Component for RawConnection
Auto Trait Implementations§
impl Freeze for RawConnection
impl !RefUnwindSafe for RawConnection
impl Send for RawConnection
impl Sync for RawConnection
impl Unpin for RawConnection
impl !UnwindSafe for RawConnection
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
§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut Components, storages: &mut Storages, ids: &mut impl FnMut(ComponentId), )
unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> C
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any
.