Typing faster than a couple characters a second using the HTTP
federation code @ http://code.google.com/r/smartepantssoftware-http-federation/
causes the WebSocket.Outbound to be null, throwing an
IllegalStateException in WebSocketServerChannel...

java.lang.IllegalStateException: Connection has been disconnected.
        at
org.waveprotocol.box.server.rpc.WebSocketServerChannel.sendMessageString(WebSocketServerChannel.java:
91)
        at
org.waveprotocol.box.server.rpc.WebSocketChannel.sendMessage(WebSocketChannel.java:
125)
        at org.waveprotocol.box.server.rpc.ServerRpcProvider
$WebSocketConnection.sendMessage(ServerRpcProvider.java:115)
        at org.waveprotocol.box.server.rpc.ServerRpcProvider$Connection
$1.run(ServerRpcProvider.java:234)
        at org.waveprotocol.box.server.rpc.ServerRpcProvider$Connection
$1.run(ServerRpcProvider.java:1)
        at org.waveprotocol.box.server.rpc.ServerRpcControllerImpl
$1.run(ServerRpcControllerImpl.java:191)
        at org.waveprotocol.box.server.rpc.ServerRpcControllerImpl
$1.run(ServerRpcControllerImpl.java:1)
        at org.waveprotocol.box.server.frontend.WaveClientRpcImpl
$1.onUpdate(WaveClientRpcImpl.java:136)
        at
org.waveprotocol.box.server.frontend.WaveViewSubscription.onUpdate(WaveViewSubscription.java:
111)
        at
org.waveprotocol.box.server.frontend.UserManager.onCommit(UserManager.java:
94)
        at
org.waveprotocol.box.server.frontend.ClientFrontendImpl.waveletCommitted(ClientFrontendImpl.java:
277)
        at
org.waveprotocol.box.server.waveserver.WaveBusDispatcher.waveletCommitted(WaveBusDispatcher.java:
55)
        at org.waveprotocol.box.server.waveserver.WaveServerImpl
$3.waveletCommitUpdate(WaveServerImpl.java:206)
        at
org.waveprotocol.wave.federation.http.HttpFederationRemote.update(HttpFederationRemote.java:
346)
        at org.waveprotocol.wave.federation.http.HttpFederationServlets
$WaveletServlet.doPut(HttpFederationServlets.java:203)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:640)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
527)
        at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
423)
        at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:
223)
        at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:
930)
        at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
358)
        at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
183)
        at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
866)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
117)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
113)
        at org.eclipse.jetty.server.Server.handle(Server.java:347)
        at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:
594)
        at org.eclipse.jetty.server.HttpConnection
$RequestHandler.content(HttpConnection.java:1059)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:764)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:
217)
        at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:
424)
        at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
506)
        at org.eclipse.jetty.util.thread.QueuedThreadPool
$2.run(QueuedThreadPool.java:436)
        at java.lang.Thread.run(Thread.java:680)

I'm not that familiar with WebSocket, and the documentation on
WebSocket.Outbound is minimal (okay, non-existent).  I'm hoping
someone who is more familiar WebSocket, and in particular with how the
Outbound class is used, can provide some insight.

An aside, this also occurs using the XMPP transport.  However, as far
as I can tell, since the protocol being used to federated wavelet
operations is separate from the protocol being used for the client
front-end, the issue doesn't cause any adverse behavior.

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

Reply via email to