Commit Graph

895 Commits

Author SHA1 Message Date
Collin Smith
dac10467fa Changed signatures for packet processing calls from Channel to ChannelHandlerContext 2020-06-25 17:29:20 -07:00
Collin Smith
57a8c1167e Fixed debug logging for inbound messages 2020-06-25 14:47:28 -07:00
Collin Smith
17d257b2b0 Improved memory usage metrics and created #80 2020-06-25 13:32:09 -07:00
Collin Smith
b9bf27d2f6 Added heap usage to display 2020-06-25 13:04:46 -07:00
Collin Smith
31af776e42 exceptionCaught will log the error and close the connection -- will add proper pipeline later 2020-06-25 12:44:20 -07:00
Collin Smith
8a38fd7139 Added Channel field to processPacket callback to retrieve attributes and manage connection 2020-06-25 12:18:44 -07:00
Collin Smith
597ae213c5 Moved netty netcode from :server:netty to :core module 2020-06-25 10:08:00 -07:00
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