I can't see how the endpoint can be notified that its connection has
timed out (or disconnected w/o a close.)
Should there be a CloseCodes.TIMEOUT (or READ/WRITE_TIMEOUT), and
CloseCodes.CONNECTION_DISCONNECT?
Or should there be some exceptions for @WebSocketError like
WebSocketTimeoutException (or WebSocketRead/WriteTimeout) and
WebSocketDisconnectException.
-- Scott