Commit Graph

888 Commits

Author SHA1 Message Date
fbdf50f646 Added additional methods to expose MessageChannel instances of ReliableEndpoint and ReliablePacketController instance of MessageChannel 2020-06-25 01:18:44 -07:00
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
7b3827823d Added reliable udp packet receiving and partial sending 2020-06-24 22:20:26 -07:00
bfe71c1031 Moved sequence manipulators to MessageChannel 2020-06-24 22:16:57 -07:00
e36b832667 Added support for reliable UDP congestion control and packet resending -- no transcieve yet #78 2020-06-24 21:53:45 -07:00
398f034755 Moved EventLoopGroup shutdown to Application#dispose 2020-06-24 21:48:36 -07:00
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
8eee5fd8f3 Modified generics with API - endpoint should work with any Object as QoS param 2020-06-24 17:40:30 -07:00
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
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
b832c89dcc Updated API 2020-06-24 15:27:58 -07:00
271359cbca Fixed log messages 2020-06-24 15:22:18 -07:00
725bbe4a01 Modified API slightly to improve extension 2020-06-24 13:43:07 -07:00
2f066cbd0f Created PacketSender abstraction to send Flatbuffer data using any protocol 2020-06-24 12:19:31 -07:00
919281e814 Refactored PacketProcessor to com.riiablo.net 2020-06-24 11:35:45 -07:00
8727189283 Created .gitattributes to mark listfiles as vendored to remove from language stats 2020-06-24 11:14:53 -07:00
58a576dfc9 TestClient and TestServer now call ReliableEndpoint#update(float) every frame 2020-06-24 01:06:39 -07:00
165459dd12 Changed delta from long millis to float seconds 2020-06-24 01:05:47 -07:00
e07e6bd2ba Refactored changed time to delta where appropriate 2020-06-24 00:59:26 -07:00
1426b87534 Filled in UnreliableOrderedMessageChannel 2020-06-23 21:45:06 -07:00
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
53ceea02a8 Added support for acking packets using a received packets header 2020-06-23 21:04:26 -07:00
185bd6a73d Roughed out ReliablePacketController#sentAck 2020-06-23 20:41:32 -07:00
c268d69ff9 Added time field 2020-06-23 20:33:05 -07:00
24eb6f1c9b Fixed bug and missing dependency preventing MapViewer from running correctly 2020-06-23 18:41:45 -07:00
cc1c43b7e6 Committing basic reliable UDP package 2020-06-23 18:40:59 -07:00
3a79adcaae Removing previous iteration 2020-06-23 18:40:17 -07:00
b19d61b8f2 Committing local changes from deprecated netty udp protocol 2020-06-23 18:39:14 -07:00
fbc4019b23 Removed AckPacket and added writeAck function to SinglePacket 2020-06-22 12:27:11 -07:00
990910393b Implemented headerSize and fragmentSize fields 2020-06-22 12:03:40 -07:00
4ec51a427d Added link to discord 2020-06-22 11:51:47 -07:00
8f0f2b36c6 Fixed unsigned arithmetic 2020-06-22 02:13:14 -07:00
e831ca09cd Added check to see if fragment packet header was invalid 2020-06-21 20:36:33 -07:00
7e31a3a5dd Changed error handling style to be log-and-return based 2020-06-21 20:34:21 -07:00
194fb0817f Adjusted API slightly to help with more common impl 2020-06-21 20:21:53 -07:00
092a6c23fe Created com.riiablo.net.reliable and partial Java implementation of reliable.io UDP scheme #78 2020-06-21 19:41:08 -07:00
d13fb953d5 Added comments explaining the need for some buffer position manipulations 2020-06-20 14:29:48 -07:00
3f51d1d503 Removed individual handlers for inbound and outbound traffic -- replaced with ReliableChannelHandler 2020-06-20 14:21:25 -07:00
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
d672768495 Added finishNettyBuffer 2020-06-20 12:49:17 -07:00
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
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
a8fe6bc732 Removed Header table from fbs and inlined fields within the Netty table 2020-06-20 00:21:04 -07:00
101cc92be4 Added protocol field to netty packet header 2020-06-19 15:01:01 -07:00
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
2b6d06f330 Rolled Client debugging outbound packet data logging into ReliableChannelHandler 2020-06-17 22:57:40 -07:00
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
f1df48b468 Changed ServerHandler to be a subclass of PacketHandler -- replaced anon PacketHandler with ServerHandler impl 2020-06-17 22:02:33 -07:00
573f4d1b4b Added reliable ChannelHandlers to server ChannelPipeline 2020-06-17 21:56:00 -07:00
fc66d120d7 Filled in some of anonymous PacketHandler within Main to process some packet types 2020-06-17 21:54:08 -07:00