Affects Version/s: None
Fix Version/s: None
- perhaps Endpoint could have a method returning a set of currently open sessions or for broadcasting messages to all open sessions for a given endpoint?
- Decoders/Encoders - seems there are too many variants of decoders/encoders (binary stream, text stream, binary, text) - can't we simply go with streaming and provide default implicit decoders for Stream<
>String and Stream<>byte and whatever other types we want to support?
- too many MessageHandler classes. Why can't we simply have MessageHandler<T>, PartialMessageHandler<T> and PongHandler and decide based on the type argument which message handler should be called for a given message?
- for async operations, no way to specify timeouts?
- why is RemoteEndpoint capable of sending only one type of object? Why can't it simply have a single <M> send(M message) method for sending objects of any kind instead of having sendString(), sendObject(), sendBytes() and getSendStream()?
- There is no notion of path params in programmatic API, DefaultServerConfiguration.matchUri() only supports exact match, but annotations support path template matching? That does not seem right.
- should ServerContainer.publishServer() be renamed to publishEndpoint()? Since that's what it seems to do.
- Session should have methods for retrieving path parameters and property bag for storing session-related data
- nitpick - in the Endpoint, session param should come first in onError to make it more consistent with onOpen and onClose