wings/server
Dane Everitt fab88a380e Use buffered channels and ring-buffer logic when processing console data
This change fixes pterodactyl/panel#3921 by implementing logic to drop the oldest message in a channel and push the newest message onto the channel when the channel buffer is full.

This is distinctly different than the previous implementation which just dropped the newest messages, leading to confusing behavior on the client side when a large amount of data was sent over the connection.

Up to 10ms per channel is allowed for blocking before falling back to the drop logic.
2022-01-30 10:55:45 -05:00
..
backup archive: keep timestamps when extracting 2021-09-01 09:54:41 -06:00
filesystem Replace encoding/json with goccy/go-json for cpu and memory usage improvement 2022-01-23 15:17:40 -05:00
backup.go Server Event Optimizations (#116) 2022-01-17 20:23:29 -07:00
config_parser.go organize imports with gopls format 2021-01-10 01:22:39 +00:00
configuration.go Simplify logic when creating a new installer; no longer requires an entire server object be passed. 2021-08-29 14:08:01 -07:00
console.go Fix race condition when setting app name in console output 2021-08-15 16:46:55 -07:00
crash.go organize imports with gopls format 2021-01-10 01:22:39 +00:00
errors.go run gofumpt 2021-11-15 10:37:56 -07:00
events.go Server Event Optimizations (#116) 2022-01-17 20:23:29 -07:00
install.go Sink pool cleanup and organization; better future support when we add more sinks 2022-01-23 09:57:25 -05:00
listeners.go Replace encoding/json with goccy/go-json for cpu and memory usage improvement 2022-01-23 15:17:40 -05:00
manager.go Replace encoding/json with goccy/go-json for cpu and memory usage improvement 2022-01-23 15:17:40 -05:00
mounts.go break everything 2021-08-02 15:07:00 -06:00
power_test.go Improve power lock logic (#118) 2022-01-23 09:49:35 -08:00
power.go Improve power lock logic (#118) 2022-01-23 09:49:35 -08:00
resources.go Replace encoding/json with goccy/go-json for cpu and memory usage improvement 2022-01-23 15:17:40 -05:00
server.go Replace encoding/json with goccy/go-json for cpu and memory usage improvement 2022-01-23 15:17:40 -05:00
sink_test.go Use buffered channels and ring-buffer logic when processing console data 2022-01-30 10:55:45 -05:00
sink.go Use buffered channels and ring-buffer logic when processing console data 2022-01-30 10:55:45 -05:00
update.go Cleanup server sync logic to work in a single consistent format (#101) 2021-08-29 13:37:18 -07:00
websockets.go Close websocket connections and allow the client to re-connect on send errors; ref pterodactyl/panel#3596 2021-10-24 16:14:00 -07:00