netrex_events has been dropped and you should use the newer Connection::recv_event() channel instead.
rakrs::start has been dropped, you should use rakrs::Listener::bind() in conjunction with rakrs::Listener::start() instead.
Every packet sent to the client is now exposed with Connection::recv() with the exception of the handshake sequence. This will allow you to write your own handlers for certain packets. However keep in mind, the protocol specific packets such as Ack, Nack, and disconnects are not exposed.
The internal module has been completely nuked and replaced with SendQueue and RecvQueue's.
Frame fragmentation is now more elaborate and elegant.
ACK, and NACK are now handled within their queues respectively, and follow a TimeRecoveryQueue.
Added TimeRecoveryQueue which is a queue with a max capacity. This queue is elegant and a packet within the queue will expire only if one of the following conditions is met:
The packet is pushed off the queue because newer packets have been added.
The packet has not been removed and it's been in the queue for too long of a duration.
Added RecoveryQueue which is a smart queue that will remove a index if and only if a newer packet is added that shifts the queue or if the retry attempts are greator than the value set within the queue, (which is 3 by default),
This version aims to improve the API from that of
v2
to resolve issues like:async
model, and setup for https://github.com/NetrexMC/RakNet/issues/26Current Changelog for v3
netrex_events
has been dropped and you should use the newerConnection::recv_event()
channel instead.rakrs::start
has been dropped, you should userakrs::Listener::bind()
in conjunction withrakrs::Listener::start()
instead.Every packet sent to the client is now exposed with
Connection::recv()
with the exception of the handshake sequence. This will allow you to write your own handlers for certain packets. However keep in mind, the protocol specific packets such as Ack, Nack, and disconnects are not exposed.The
internal
module has been completely nuked and replaced withSendQueue
andRecvQueue
's.ACK, and NACK are now handled within their queues respectively, and follow a
TimeRecoveryQueue
.Added
TimeRecoveryQueue
which is a queue with a max capacity. This queue is elegant and a packet within the queue will expire only if one of the following conditions is met:The packet is pushed off the queue because newer packets have been added.
The packet has not been removed and it's been in the queue for too long of a duration.
Added
RecoveryQueue
which is a smart queue that will remove a index if and only if a newer packet is added that shifts the queue or if the retry attempts are greator than the value set within the queue, (which is 3 by default),Please see: https://github.com/orgs/NetrexMC/projects/4 for a up to date road map.