Skip to content

Releases: panjf2000/gnet

Gnet v1.2.0

11 May 12:21
Compare
Choose a tag to compare

Features

  • Support graceful shutdown with OS signals (Fixes #82)

Enhancements

  • Improve the creation processes of netpoller (Fixes #72) ccc6c25
  • Reuse slice struct when resetting buffer 916c255
  • Make a big allocation on ring-buffer at the first time 61963bd

Docs

  • Update Features section in READMEs a0d53f5
  • Add a new article about gnet d500bf4
  • Supplement the missing acknowledgment item b031357

Misc

  • Enable ReadN(int) to handle corner cases 2e89e25
  • Leverage reviewdog as automated code review tool 5db42f9
  • Use customized logger to log errors instead of std log package 3a69701
  • Remove useless field of server 47817a0
  • Unexport some errors 5287bd8

Gnet v1.1.0

03 Apr 03:51
Compare
Choose a tag to compare

Features

  • Support new load-balancing algorithm of least-connections (#63)
  • Support new load-balancing algorithm of source-addr-hash (#64)
  • Add a new API to get the number of currently active connections 5ae4849

Bugfixes

  • Fix an issue of not recycling byte-buffers 3b6edfd
  • Fix a bug of reading data from the full ring-buffer a9caa26

Enhancements

  • Improve several methods of ring-buffer 828e845
  • Refine the range indexes when re-slicing 008c0c9
  • Lazily allocate memory for ring-buffers 095ef52

Docs

Misc

  • Rename the eventloop_group.go to load_balancing.go 24203f4
  • Add unit test for ring-buffer ecf3473 94246dc

Gnet v1.0.0

13 Mar 03:05
Compare
Choose a tag to compare

馃殌 Features

  • High-performance event-loop under networking model of multiple threads/goroutines
  • Built-in load balancing algorithm: Round-Robin
  • Built-in goroutine pool powered by the library ants
  • Built-in memory pool with bytes powered by the library bytebufferpool
  • Concise APIs
  • Efficient memory usage: Ring-Buffer
  • Supporting multiple protocols/IPC mechanism: TCP, UDP and Unix Domain Socket
  • Supporting two event-driven mechanisms: epoll on Linux and kqueue on FreeBSD
  • Supporting asynchronous write operation
  • Flexible ticker event
  • SO_REUSEPORT socket option
  • Built-in multiple codecs to encode/decode network frames into/from TCP stream: LineBasedFrameCodec, DelimiterBasedFrameCodec, FixedLengthFrameCodec and LengthFieldBasedFrameCodec, referencing netty codec, also supporting customized codecs
  • Supporting Windows platform with event-driven mechanism of IOCP Go stdlib: net
  • Additional load-balancing algorithms: Random, Least-Connections, Consistent-hashing and so on
  • TLS support
  • Implementation of gnet Client