You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Frames can now be structures instead of reference types
QueueAsync task now completes when the frame is actually flushed not when it's written to the stream
IProtocolCoder.WriteAsync is now IProtocolCoder.Write and is much much better optimised when sending bulk small-mid sized frames
Removed ProtocolServer.Stop since it cannot reliably prevent new connections
Added ProtocolPeer.GetStream to get the underlying data stream
Added ProtocolPeer.TryReceive to try and dequeue a received frame waiting in the buffer without blocking
Added more members to IProtocolPeer that are present in ProtocolPeer
Minecraft example now spawns you looking at the text
Minecraft example now uses structures for it's packets
Frames can now implement IDisposable to indicate reusability/releasing of managed resources after sending
Renamed ProtocolServer.Endpoint to ProtocolServer.Endpoints for multiple-endpoint listening future proofing
Added ProtocolServer.FlushAsync, ProtocolServer.SendAsync and ProtocolServer.Queue utility functions with predicate support
Added ProtocolPeer.GetStatistics for network stats and fixed incorrect frame out count
Added protocol modes active/passive
Improved chat example
Fixed peers locking up when filling up the internal pipe buffer, the pipe buffer will now be 2x the buffer size or 34768, whichever is higher. Coders must always be able to process incoming data so that the queued data never raises above the threshold