This new network system supports advanced features like sending and receiving packets 😮
The network system no longer supports arbitrary streams being opened at runtime (which systems must them somehow decide which to use). Instead the stream types are defined ahead of time in the StreamType enum. This significantly simplies the internals of the network system, as there is now just one ECS->Async MPSC per connection, rather than one per stream.
Server and client have been set up with some new systems for testing:
Server sends "Ping" to clients
Client receives "Ping" and sends back "Pong"
Server receives "Pong" and prints out latency
Both ends have a system that logs all network events (except packets)
These act as a good demonstration of what a packet processing system will look like. I think they demonstrate the need for something which splits packets up and publishes them as individual events (per packet type).
Note: Builds on #39, merge that first.This new network system supports advanced features like sending and receiving packets 😮
The network system no longer supports arbitrary streams being opened at runtime (which systems must them somehow decide which to use). Instead the stream types are defined ahead of time in the
StreamType
enum. This significantly simplies the internals of the network system, as there is now just oneECS->Async
MPSC per connection, rather than one per stream.Server and client have been set up with some new systems for testing:
These act as a good demonstration of what a packet processing system will look like. I think they demonstrate the need for something which splits packets up and publishes them as individual events (per packet type).
Resolve #38