Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
Both use ConcurrentMapQueue to buffer arriving WebSocket messages, but in case if user unsubscribes, a small portion of messages may remain undemanded. To clean them, there should be a garbage collection thread that once per 5 minutes wakes up and checks if there are any old keys in the queue (use methods ConcurrentMapQueue::getKeys and ConcurrentMapQueue::getKeyAge). If the key is older than 1 hour, all values for it should be discarded.