gnet @ v1.0.0
integrity
- size
- 82.4 KiB
- downloaded
- last checked
- overlays
- go
- detected
- go module github.com/panjf2000/gnet
release notes
[!NOTE] This is the first major release!
🚀 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 IOCPGo stdlib: net - Additional load-balancing algorithms: Random, Least-Connections, Consistent-hashing and so on
- TLS support
- Implementation of
gnetClient
download
unix · zip
curl -fL -o v1.0.0.zip https://ratatoskr.space/pkg/gnet/v1.0.0.zip
printf '%s %s\n' 'f413820ced121884eeb7c6e50123cc422105ca2fd51304acf8e901fbe4957806' 'v1.0.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/gnet/v1.0.0.zip"
$out = "v1.0.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f413820ced121884eeb7c6e50123cc422105ca2fd51304acf8e901fbe4957806") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1.0.0.tar.gz https://ratatoskr.space/pkg/gnet/v1.0.0.tar.gz
printf '%s %s\n' '86dc1b36753c1a183395e92351a2bc77cbb8332a861439201ec8f71c7eeceb82' 'v1.0.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/gnet/v1.0.0.tar.gz"
$out = "v1.0.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "86dc1b36753c1a183395e92351a2bc77cbb8332a861439201ec8f71c7eeceb82") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1.0.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.0.0.zip
printf '%s %s\n' 'f413820ced121884eeb7c6e50123cc422105ca2fd51304acf8e901fbe4957806' 'v1.0.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.0.0.zip"
$out = "v1.0.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f413820ced121884eeb7c6e50123cc422105ca2fd51304acf8e901fbe4957806") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1.0.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.0.0.tar.gz
printf '%s %s\n' '86dc1b36753c1a183395e92351a2bc77cbb8332a861439201ec8f71c7eeceb82' 'v1.0.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.0.0.tar.gz"
$out = "v1.0.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "86dc1b36753c1a183395e92351a2bc77cbb8332a861439201ec8f71c7eeceb82") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1.0.0.zip | zip | 81.6 KiB |
blake3-24 8c569eb5c4b22e3f12cb6f70b6be310e7d528d771508fb4b
sha256 f413820ced121884eeb7c6e50123cc422105ca2fd51304acf8e901fbe4957806
sha1 d84aa2e1cf2430be85a1cd6523750b8ac07e7da8
|
| v1.0.0.tar.gz | tar.gz | 55.0 KiB |
blake3-24 c894f15415e81e146f674d172f5da02ffacd57a5740f7b24
sha256 86dc1b36753c1a183395e92351a2bc77cbb8332a861439201ec8f71c7eeceb82
sha1 a6e25fd4cc8e143b1ac84a01ff7b84f9d6f9e49e
|
go module archive
module zip with the module path rewritten to this mirror; fetched by go get through the
GOPROXY route
| artifact | format | size | hashes |
|---|---|---|---|
| v1.0.0.zip | zip | 82.8 KiB |
blake3-24 24233674ec14e7592a701d7f356f9f591420894549fe14f9
sha256 419eae9faa025146601a57a0bd7f847d5d9813f6de6e210f07f20b84570f3ffc
sha1 b7a82845c649d10a1b88d78406af29367903e2ed
|
install
bazel
http_archive(
name = "gnet",
urls = ["https://ratatoskr.space/pkg/gnet/v1.0.0.tar.gz"],
integrity = "sha256-htwbNnU8GhgzlekjUaK8d8u4MyqGFDkgHsj3HH7s64I=",
strip_prefix = "gnet-v1.0.0",
)
zig
.url = "https://ratatoskr.space/pkg/gnet/v1.0.0.tar.gz",
go
GOPROXY=https://ratatoskr.space GOSUMDB=off go get ratatoskr.space/pkg/gnet@v1.0.0
install via yggdrasil mesh
bazel
http_archive(
name = "gnet",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.0.0.tar.gz"],
integrity = "sha256-htwbNnU8GhgzlekjUaK8d8u4MyqGFDkgHsj3HH7s64I=",
strip_prefix = "gnet-v1.0.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.0.0.tar.gz",
go
GOPROXY=http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg GOSUMDB=off GOINSECURE=14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/* go get 14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet@v1.0.0