Hi, The WsWriteTimeout uses a rather uncommon ordered set [by timeout instant], probably to make timeout checks much faster.
The code review does not like it, and it seems to start causing issues when useAsyncIO is disabled (useAsyncIO=true works) on the connector. onWritePossible then could get called multiple times by the container on incomplete writes, each adding a new registration with a new timeout for one endpoint. There's no unregister, which could be added, but it seems it's not working so well. Anyway things get a bit complicated fast ... Maybe we could switch to a "dumb" way to implement this instead (= with a ConcurrentHashMap and no tricks) ? It would use "public void register(WsRemoteEndpointImplServer endpoint, long timeoutExpiry)" instead, and I have a patch ready. Rémy --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
