flodgatt/src
Daniel Sockwell d23cc40bea
Iowait (#125)
* Remove use of last_polled_time [WIP]

This commit stops removing subscriptions based on their last polled
time to test the impact of this change on CPU use.  This is a WIP
because it does not yet remove subscriptions in any other way, which
(if deployed in production) would cause a memory leak – memory use
would grow with each new subscription and would never be reduced as
clients end their subscriptions.

* Fix bug with RedisConnection polling freqeuency

* Improve performance of EventStream

This commit changes the EventStream so no longer polls client
WebSocket connections to see if it should clean up the connection.
Instead, it cleans up the connection whenever it attempts to send a
ping or a message through the connection and receives an error
indicating that the client has disconnected.  As a result, client
connections aren't cleaned up quite as quickly, but overall sys CPU
time should be dramatically improved.

* Remove empty entries from MsgQueues hashmap

Before this change, entries in the MsgQueue hashmap would remain once
added, even if their value fell to 0.  This could lead to a very
slight memory leak/increase, because the hashmap would grow each time
a new user connected and would not decrease again.  This is now fixed.

* Bump version and remove unused benchmark
2020-04-05 17:54:05 -04:00
..
config Iowait (#125) 2020-04-05 17:54:05 -04:00
err Error handling, pt1 (#115) 2020-04-01 15:35:24 -04:00
messages Handle non conforment events (#117) 2020-04-03 12:41:53 -04:00
parse_client_request Handle non conforment events (#117) 2020-04-03 12:41:53 -04:00
redis_to_client_stream Iowait (#125) 2020-04-05 17:54:05 -04:00
lib.rs Performance tuning (#108) 2020-03-25 17:50:32 -04:00
main.rs Stub status (#124) 2020-04-05 10:54:42 -04:00
rustfmt.toml Config refactor (#57) 2019-10-03 00:34:41 -04:00