Collin Smith
fbdf50f646
Added additional methods to expose MessageChannel instances of ReliableEndpoint and ReliablePacketController instance of MessageChannel
2020-06-25 01:18:44 -07:00
Collin Smith
cf1fea539f
Improved support for reliable UDP
...
Implemented PacketListener#onPacketTransmitted callback for sending messages and acks
Created PacketListener#onAckProcessed callback for received acks
Documented some unknown code related to copying outgoing bytebuf and prepending some data to it
Todo: add support for fragmented messages
2020-06-25 01:11:24 -07:00
Collin Smith
7b3827823d
Added reliable udp packet receiving and partial sending
2020-06-24 22:20:26 -07:00
Collin Smith
bfe71c1031
Moved sequence manipulators to MessageChannel
2020-06-24 22:16:57 -07:00
Collin Smith
e36b832667
Added support for reliable UDP congestion control and packet resending -- no transcieve yet #78
2020-06-24 21:53:45 -07:00
Collin Smith
398f034755
Moved EventLoopGroup shutdown to Application#dispose
2020-06-24 21:48:36 -07:00
Collin Smith
3dc8136462
Moved exit function to catch block and removed sync which was blocking create thread and thus render loop
2020-06-24 20:15:48 -07:00
Collin Smith
8eee5fd8f3
Modified generics with API - endpoint should work with any Object as QoS param
2020-06-24 17:40:30 -07:00
Collin Smith
d328eff4d2
Refactored to send connection packet on main thread instead of through an extra handler attached to the pipeline
2020-06-24 16:29:49 -07:00
Collin Smith
b74e870e9b
Abstracted networking further and implemented TCP implementation #78
...
Deprecated ReliableChannelHandler (succeeded by EndpointedChannelHandler)
Added basic test netty TCP client and server
2020-06-24 15:46:41 -07:00
Collin Smith
b832c89dcc
Updated API
2020-06-24 15:27:58 -07:00
Collin Smith
271359cbca
Fixed log messages
2020-06-24 15:22:18 -07:00
Collin Smith
725bbe4a01
Modified API slightly to improve extension
2020-06-24 13:43:07 -07:00
Collin Smith
2f066cbd0f
Created PacketSender abstraction to send Flatbuffer data using any protocol
2020-06-24 12:19:31 -07:00
Collin Smith
919281e814
Refactored PacketProcessor to com.riiablo.net
2020-06-24 11:35:45 -07:00
Collin Smith
8727189283
Created .gitattributes to mark listfiles as vendored to remove from language stats
2020-06-24 11:14:53 -07:00
Collin Smith
58a576dfc9
TestClient and TestServer now call ReliableEndpoint#update(float) every frame
2020-06-24 01:06:39 -07:00
Collin Smith
165459dd12
Changed delta from long millis to float seconds
2020-06-24 01:05:47 -07:00
Collin Smith
e07e6bd2ba
Refactored changed time to delta where appropriate
2020-06-24 00:59:26 -07:00
Collin Smith
1426b87534
Filled in UnreliableOrderedMessageChannel
2020-06-23 21:45:06 -07:00
Collin Smith
53a1a6f117
Removed sequence from PacketProcessor#processPacket and PacketTransceiver#receivePacket interfaces
...
sequence was not used and should remain encapsulated beneath MessageChannel layer
2020-06-23 21:28:20 -07:00
Collin Smith
53ceea02a8
Added support for acking packets using a received packets header
2020-06-23 21:04:26 -07:00
Collin Smith
185bd6a73d
Roughed out ReliablePacketController#sentAck
2020-06-23 20:41:32 -07:00
Collin Smith
c268d69ff9
Added time field
2020-06-23 20:33:05 -07:00
Collin Smith
24eb6f1c9b
Fixed bug and missing dependency preventing MapViewer from running correctly
2020-06-23 18:41:45 -07:00
Collin Smith
cc1c43b7e6
Committing basic reliable UDP package
2020-06-23 18:40:59 -07:00
Collin Smith
3a79adcaae
Removing previous iteration
2020-06-23 18:40:17 -07:00
Collin Smith
b19d61b8f2
Committing local changes from deprecated netty udp protocol
2020-06-23 18:39:14 -07:00
Collin Smith
fbc4019b23
Removed AckPacket and added writeAck function to SinglePacket
2020-06-22 12:27:11 -07:00
Collin Smith
990910393b
Implemented headerSize and fragmentSize fields
2020-06-22 12:03:40 -07:00
Collin Smith
4ec51a427d
Added link to discord
2020-06-22 11:51:47 -07:00
Collin Smith
8f0f2b36c6
Fixed unsigned arithmetic
2020-06-22 02:13:14 -07:00
Collin Smith
e831ca09cd
Added check to see if fragment packet header was invalid
2020-06-21 20:36:33 -07:00
Collin Smith
7e31a3a5dd
Changed error handling style to be log-and-return based
2020-06-21 20:34:21 -07:00
Collin Smith
194fb0817f
Adjusted API slightly to help with more common impl
2020-06-21 20:21:53 -07:00
Collin Smith
092a6c23fe
Created com.riiablo.net.reliable and partial Java implementation of reliable.io UDP scheme #78
2020-06-21 19:41:08 -07:00
Collin Smith
d13fb953d5
Added comments explaining the need for some buffer position manipulations
2020-06-20 14:29:48 -07:00
Collin Smith
3f51d1d503
Removed individual handlers for inbound and outbound traffic -- replaced with ReliableChannelHandler
2020-06-20 14:21:25 -07:00
Collin Smith
01888faac6
Implemented ReliableUtil and composite ByteBuf into ReliableChannelHandler
...
Implemented ReliableUtil and composite ByteBuf into ReliableChannelHandler
ReliableChannelHandler automatically replaces outbound message with composite
Removed size prefixing contract from Packet factory
Added ReliableUtil#createHeader to write data and set writer index passed header
2020-06-20 14:03:27 -07:00
Collin Smith
d672768495
Added finishNettyBuffer
2020-06-20 12:49:17 -07:00
Collin Smith
5c4c06d47e
Created setContentSize method to support composite buffers
...
Created setContentSize method to support composite buffers
Removed UDP header fields from Netty fbs table
2020-06-20 12:47:31 -07:00
Collin Smith
26aebd5183
Created ReliableUtil class with utility methods to set and get header data encoded within a reliable UDP packet outside of fbs
2020-06-20 02:01:05 -07:00
Collin Smith
a8fe6bc732
Removed Header table from fbs and inlined fields within the Netty table
2020-06-20 00:21:04 -07:00
Collin Smith
101cc92be4
Added protocol field to netty packet header
2020-06-19 15:01:01 -07:00
Collin Smith
510342e232
Implemented some basic reliable udp logic
...
Seq should increment and wrap around at 0xFFFF
Added special case for ack < 0 (init first packet)
Added netty packet creation functions to ReliableChannelHandler
Header creation is difficult because I can't mutate existing packets easily -- experimenting
2020-06-18 20:46:57 -07:00
Collin Smith
2b6d06f330
Rolled Client debugging outbound packet data logging into ReliableChannelHandler
2020-06-17 22:57:40 -07:00
Collin Smith
fb7377980b
Created ReliableChannelHandler to try and accomplish ReliableInboundHandler and ReliableOutboundHandler with one ChannelHandler
...
Replaced implementations with ReliableChannelHandler
Removed ReliableInboundHandler and ReliableOutboundHandler
Removed propagation for caught exceptions within ReliableChannelHandler impls
2020-06-17 22:29:14 -07:00
Collin Smith
f1df48b468
Changed ServerHandler to be a subclass of PacketHandler -- replaced anon PacketHandler with ServerHandler impl
2020-06-17 22:02:33 -07:00
Collin Smith
573f4d1b4b
Added reliable ChannelHandlers to server ChannelPipeline
2020-06-17 21:56:00 -07:00
Collin Smith
fc66d120d7
Filled in some of anonymous PacketHandler within Main to process some packet types
2020-06-17 21:54:08 -07:00