Skip to content

Releases: yigolden/KcpSharp

v0.8.8

16 Mar 08:27
Compare
Choose a tag to compare
  • Add ReceiveQueueSize to KcpConversationOptions.
  • Implement active notification of receive window size. (To enable this, set ReceiveWindowNotificationOptions property in KcpConversationOptions)

v0.7.13

03 Feb 05:48
Compare
Choose a tag to compare
  • Implement a simple KeepAlive mechanism. (Can be enabled by setting KeepAliveOptions property of KcpConversationOptions object)
  • Add a new overload for WaitForReceiveQueueAvailableDataAsync.
  • Cleanup usage of Task.Run() and CancellationTokenSource, cleanup IValueTaskSource implementations.

v0.6.23

13 Jan 07:13
Compare
Choose a tag to compare
  • Fix a deadlock when users try to exchange packets in-process.

v0.6.20

09 Nov 03:21
Compare
Choose a tag to compare
  • Refactor core update loop. (Less allocation, Less lock contention)
  • Improve packet throughput in NoDelay mode.
  • Avoid deadlocks in IValueTaskSource implementations.
  • Usability improvements to KcpRentedBuffer.
  • Remove .NET 5 target.
  • Remove obsoleted IKcpBufferAllocator interface.

v0.5.27

30 Aug 07:52
Compare
Choose a tag to compare
  • Reduce potential async state machine allocation in FlushCoreAsync by using custom async method builder. (requires .NET6+)
  • Improve NoDelay mode.
  • Set IsTrimmable property on the main project.
  • Expose Span property on KcpRentedBuffer.
  • Fix an issue where buffer could be released multiple times.

v0.4.21

22 Jul 04:48
Compare
Choose a tag to compare
  • Add the new buffer pool APIs. Mark the buffer allocation APIs as obsoleted.
  • Implement WaitForSendQueueAvailableSpaceAsync.
  • Implement WaitForReceiveQueueAvailableDataAsync.
  • Use Environment.TickCount as the current timestamp.
  • FlushAsync now also waits for flushing acknowledgements.

v0.3.10

13 Jul 14:05
Compare
Choose a tag to compare
  • Fix incorrect maximum segment size calculation when pre-buffer and post-buffer features are used.

v0.3.8

07 Jul 03:26
Compare
Choose a tag to compare
  • BREAKING CHANGE: IKcpTransport.SendPacketAsync signature changed.
  • Conversation ID is now optional in the constructor of KcpConversation.
  • Add support for pre-buffer and post-buffer in KcpConversation and KcpRawChannel.
  • Add Stream adapter for KcpConversation.
  • Fix KcpConversation.UnflushedBytes not returning 0 when the transport is closed.

v0.2.53

29 Jun 07:51
Compare
Choose a tag to compare
Rename IKcpConversation.OnReceived to InputPakcetAsync

(cherry picked from commit ca5da2354c5829815a1ecbb671ff6b2b227edf97)