As for messages occupying one frame... There is nothing, absolutely nothing, in the javax.websocket (JSR-356) spec or the websocket protocol (RFC6455) spec that says 1 message is on 1 frame. In fact, each of those specs specifically call out that a message can be part of [1..n] frames at the whims of the implementation and/or intermediates (like some websocket proxies)
Even the existence of various websocket extensions can fragment the message further into smaller and smaller frames. -- Joakim Erdfelt <[email protected]> webtide.com <http://www.webtide.com/> - eclipse.org/jetty - cometd.org Expert advice, services and support from from the Jetty & CometD experts On Thu, Jul 2, 2015 at 8:38 AM, Joakim Erdfelt <[email protected]> wrote: > Your stacktrace says you are using streams. > > OnMessageTextStreamCallable(CallableMethod).call(Object, Object...) > line: 70 > OnMessageTextStreamCallable.call(Object, Reader) line: 60 > JsrEvents<T,C>.callTextStream(RemoteEndpoint$Async, Object, Reader) > line: 206 > JsrAnnotatedEventDriver$2.run() line: 340 > > That says your @OnMessage is either using streams directly, or via a > Decoder.TextStream for that message type. > > > -- > Joakim Erdfelt <[email protected]> > webtide.com <http://www.webtide.com/> - eclipse.org/jetty - cometd.org > Expert advice, services and support from from the Jetty & CometD experts > > On Thu, Jul 2, 2015 at 8:27 AM, Jörg Henne <[email protected]> wrote: > >> Joakim Erdfelt <joakim@...> writes: >> > single-invocation-per-endpoint-instance contract WSC-5.1-2 does not >> apply to a >> > <at> OnMessage annotated method that works with Streams. >> > >> > >> > The very nature of <at> OnMessage with streams is that the first frame >> of >> a message causes an invocation that is dispatched to a new thread, and all >> subsequent frames for that message arrive via that dispatched thread >> (really >> via the buffers that the thread has an is using) >> > >> > If another Message arrives, then that is also dispatched to a new >> thread, etc. >> >> Thanks for your response. Unfortunately, I am not sure, that I can follow >> you, in particular with respect to the streams you mention. I am using >> atomic messages only. The messages are sent using sendObject(...) with a >> suitable encoder configured and received through a corresponding decoder. >> It >> is my understanding that each message should therefore occupy exactly one >> frame. >> Should I switch to using a MessageHandler? >> >> _______________________________________________ >> jetty-users mailing list >> [email protected] >> To change your delivery options, retrieve your password, or unsubscribe >> from this list, visit >> https://dev.eclipse.org/mailman/listinfo/jetty-users >> > >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
