gnet @ v1.4.0
integrity
- size
- 111.9 KiB
- downloaded
- last checked
- overlays
- go
- detected
- go module github.com/panjf2000/gnet
release notes
Features
- Support TCP_NODELAY socket option 525df8ed1e734ac8d9a8f7fc4d28853a3f1e9cb3
- Implement the lock-free queue for dispatching tasks faster (#181)
Enhancements
- Shrink the ring-buffer for saving memory 14fd04a041994e35393a2abf5c039db4e9f29f60
- Improve event poll fc042ccde2d57697eafe278b2d6d9c056246e251
- Improve the buffered channels 83b96eda98cb0ea311d776537a502151a029dab6
- Shrink the poll event list when it need to 158763823c0c155bd3750c18d58cf887c7f2a813
- Improve the I/O in event-loop c554f4ec298f76c6bb5710a62db710161189d239
- Prioritize writable events 0f08c8f351c1cb60e83db1b6edf1babdb853767d
- Make it more robust when running async jobs 6509b85eca7847abf8919829857e05851a408d0c
- Improve the poller waking logic 4d8accba64f9c8e9da621409c5fa42d1aa3bea51
Bugfixes
- Re-enqueue the subsequent jobs when a error occurs 1af3f6c4734f41f424de4b929407ed401ddbc830
- Close and release a socket when error occurs 9d86c92a224a3ce0b670070dd4256099c0dedcff
- Check outbound buffer in case the socket has been released 035f6140a187f58c62d3d9e023f22fbdb81cd66f
- Avoid starving sockets e3152523da481e8e59f1ac137e89b5c669287010
Docs
- Enrich the doc about using UDP packets 0047c15c6ccf98fddf985bbb254ab22abd2463ce
- Add more user cases of gnet 076b16c68f52de65fb059ec9b81d03f0e7ef06f4
- Update benchmark results 028bab284f63babd203b44dc59e2e0bde3ee2691
- Update the description about ring-buffer 38b086af35cf57e9bc08f3655eefacab7985dd5a
Misc
- Add one more donor 12bfa5cfa7742859ad75f8117d3deadebeb7f12c
- Refine code 2aee5a9ea2d86d2eabf2964be96cbf8ce643bc48
- Add comments on those core code 2404edde0031ac52bf1dcb803708e347080b9e47
- Refine code and add comments 4ecbc501c2cfa05773e338cd07d967bb1d0afad5
- Add a warning comment for OnOpened 0bddd003d7d8934df7ab65389c8975e155c72440
download
unix · zip
curl -fL -o v1.4.0.zip https://ratatoskr.space/pkg/gnet/v1.4.0.zip
printf '%s %s\n' '8099e0443a5f27fe1dc15eab5a7f44f51e151e20f2f537342553ab3d668ee845' 'v1.4.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/gnet/v1.4.0.zip"
$out = "v1.4.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "8099e0443a5f27fe1dc15eab5a7f44f51e151e20f2f537342553ab3d668ee845") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1.4.0.tar.gz https://ratatoskr.space/pkg/gnet/v1.4.0.tar.gz
printf '%s %s\n' '170b89ba084485dab210ba9ad3633f1e52c25ded42dd30622e019d9dd098977a' 'v1.4.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/gnet/v1.4.0.tar.gz"
$out = "v1.4.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "170b89ba084485dab210ba9ad3633f1e52c25ded42dd30622e019d9dd098977a") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1.4.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.4.0.zip
printf '%s %s\n' '8099e0443a5f27fe1dc15eab5a7f44f51e151e20f2f537342553ab3d668ee845' 'v1.4.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.4.0.zip"
$out = "v1.4.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "8099e0443a5f27fe1dc15eab5a7f44f51e151e20f2f537342553ab3d668ee845") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1.4.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.4.0.tar.gz
printf '%s %s\n' '170b89ba084485dab210ba9ad3633f1e52c25ded42dd30622e019d9dd098977a' 'v1.4.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.4.0.tar.gz"
$out = "v1.4.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "170b89ba084485dab210ba9ad3633f1e52c25ded42dd30622e019d9dd098977a") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1.4.0.zip | zip | 112.1 KiB |
blake3-24 113d8e94aef51ecfab4aa34e0e8e656fb0aa54758a750af4
sha256 8099e0443a5f27fe1dc15eab5a7f44f51e151e20f2f537342553ab3d668ee845
sha1 72c7d1ca7aebc9450249ec4fae11139e7e26aa92
|
| v1.4.0.tar.gz | tar.gz | 56.4 KiB |
blake3-24 249fa17ec767218fc1fe1a504c2e05d82c944dddfc798e75
sha256 170b89ba084485dab210ba9ad3633f1e52c25ded42dd30622e019d9dd098977a
sha1 7fdaf0f39bb550e35498318382917811d72cb30a
|
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.4.0.zip | zip | 113.4 KiB |
blake3-24 9155a2b082d346f1d1c9a37cc3c3c022a7a017ea06725516
sha256 5139e145f5a8a95204ad80e8e764ca9304f52eaa88553805129af835a4661737
sha1 65bc801a518e1b43fd46fc4373b656f06052b42c
|
install
bazel
http_archive(
name = "gnet",
urls = ["https://ratatoskr.space/pkg/gnet/v1.4.0.tar.gz"],
integrity = "sha256-FwuJughEhdqyELqa02M/HlLCXe1C3TBiLgGdndCYl3o=",
strip_prefix = "gnet-v1.4.0",
)
zig
.url = "https://ratatoskr.space/pkg/gnet/v1.4.0.tar.gz",
go
GOPROXY=https://ratatoskr.space GOSUMDB=off go get ratatoskr.space/pkg/gnet@v1.4.0
install via yggdrasil mesh
bazel
http_archive(
name = "gnet",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.4.0.tar.gz"],
integrity = "sha256-FwuJughEhdqyELqa02M/HlLCXe1C3TBiLgGdndCYl3o=",
strip_prefix = "gnet-v1.4.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet/v1.4.0.tar.gz",
go
GOPROXY=http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg GOSUMDB=off GOINSECURE=14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/* go get 14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/gnet@v1.4.0