Skip to content

ProtoSocket

Compare
Choose a tag to compare
@alandoherty alandoherty released this 31 Jan 02:01
· 13 commits to master since this release
  • Redefined the IProtocolUpgrader API, removed type parameter dependency
  • Better handling of upgrading connections
  • ProtocolPeer.Configure is now protected internal instead of internal
  • Added ProtocolClient(IProtocolCoder, ProtocolMode) constructor
  • 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
  • Removed ProtocolPeer.Transfer
  • Moved to 0.5.0