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]

Reply via email to