Commit Graph

458 Commits

Author SHA1 Message Date
Joakim Erdfelt 9ad5ab1ed5 406449 - Session's disconnect not detected
+ Vastly cleaned up IOState and ConnectionState behavior
2013-04-30 15:54:41 -07:00
Joakim Erdfelt ef77b854fa 404911 - WebSocketCloseTest fails spuriously
+ Renabling test
+ Using EventQueue from jetty-test-helper instead
+ Standarizing HttpResponseHeaderParser into websocket-common so that
  remaining bytebuffer logic is maintained in one place.
+ Making BlockingClient also use HttpResponseHeaderParser
2013-04-26 15:37:46 -07:00
Joakim Erdfelt a4644dc780 JSR-356 working out server endpoint creation 2013-04-23 11:06:01 -07:00
Joakim Erdfelt 9463eee427 Merge branch 'master' into javawebsocket-jsr 2013-04-19 09:25:03 -07:00
Greg Wilkins a7073d05a6 updated version to 9.1.0-SNAPSHOT 2013-04-19 13:59:18 +10:00
Jesse McConnell 7baaa14ba1 [maven-release-plugin] prepare for next development iteration 2013-04-17 11:46:39 -05:00
Jesse McConnell e390b54b25 [maven-release-plugin] prepare release jetty-9.0.2.v20140417 2013-04-17 11:46:31 -05:00
Joakim Erdfelt 119a1bb1cf Guarding ExtensionStack.toString() from NPE 2013-04-17 10:54:19 -05:00
Joakim Erdfelt b2e675ebad Merge branch 'master' into javawebsocket-jsr 2013-04-17 07:16:03 -07:00
Joakim Erdfelt 824675d072 Guarding ExtensionStack.toString() from NPE 2013-04-16 06:49:33 -07:00
Joakim Erdfelt 8088edc96c Merge branch 'master' into javawebsocket-jsr 2013-04-15 12:12:25 -07:00
Jesse McConnell 0b20467c6f [maven-release-plugin] prepare for next development iteration 2013-04-15 11:40:45 -05:00
Jesse McConnell 3aa4301711 [maven-release-plugin] prepare release jetty-9.0.2.v20140415 2013-04-15 11:40:37 -05:00
Joakim Erdfelt e0d353629f JSR-356 - updates to Session tracking and start of PathMappings
+ Refactored websocket-commons Session creation to be factory based
+ Introduced new org.eclipse.jetty.websocket.common.SessionFactory
+ Made websocket-client and websocket-server use new SessionFactory
+ Introduced JsrSessionFactory to allow for consistent Session creation
  even in the Jsr (no more duplciate Session creation)
+ Using JsrSessionFactory in javax-websocket-client-impl
+ Introducing PathMappings to hopefully replace jetty-util's PathMap
+ Using standard ClientEndpointConfig when appropriate.
+ Introducing JettyClientEndpointConfig for annotation based
  configurations
+ Renaming EchoSocket used in javax.websocket client testing to
  JettyEchoSocket to better indicate that its the Jetty server side
  implementation and not the javax.websocket client side socket.
+ Changed IncomingFrames.incomingError() parameter from
  WebSocketException to Throwable to match behavior on the JSR
2013-04-09 11:21:59 -07:00
Greg Wilkins b8dd8bde14 [maven-release-plugin] prepare for next development iteration 2013-04-08 12:31:34 +10:00
Greg Wilkins bf3771904b [maven-release-plugin] prepare release jetty-9.0.1.v20130408 2013-04-08 12:30:59 +10:00
Joakim Erdfelt d1692733f5 JSR-356: MessageHandler(s) layer 2013-04-04 12:03:11 -07:00
Joakim Erdfelt 3a66b3ec3f JSR-356 first working annotated @ClientEndpoint echo test 2013-03-28 10:51:45 -07:00
Joakim Erdfelt fc7526b739 [JSR-356] Refactoring annotated callables to handle any-order rule 2013-03-26 17:30:49 -07:00
Joakim Erdfelt bf335f496d 403817 - Use of WebSocket Session.close() results in invalid status code
+ Fixing WebSocketSession.close() to delgate NORMAL close properly
2013-03-22 13:18:02 -07:00
Joakim Erdfelt 54fd961354 403380 - Introduce WebSocketTimeoutException to differentiate between EOF on write and Timeout 2013-03-22 13:18:02 -07:00
Joakim Erdfelt 23ce4235d8 403817 - Use of WebSocket Session.close() results in invalid status code
+ Fixing WebSocketSession.close() to delgate NORMAL close properly
2013-03-20 09:28:07 -07:00
Joakim Erdfelt dd4394aa77 403380 - Introduce WebSocketTimeoutException to differentiate between EOF on write and Timeout 2013-03-19 12:05:29 -07:00
Joakim Erdfelt 96df602e9e Initial pass at fixing build for websocket PFD 2013-03-18 16:50:07 -07:00
Joakim Erdfelt 8ec9ac4d64 Merge branch 'master' into javawebsocket-jsr 2013-03-18 13:32:08 -07:00
Joakim Erdfelt 8a9f1f94e8 403373 - WebSocket change timeout log level from warn -> info 2013-03-14 10:00:02 -07:00
Joakim Erdfelt fd8f2b9753 Merge from [master] -> [javawebsocket-jsr] 2013-03-11 10:57:08 -07:00
Joakim Erdfelt 897c35c2cb [maven-release-plugin] prepare for next development iteration 2013-03-08 11:33:23 -07:00
Joakim Erdfelt cc6196af50 [maven-release-plugin] prepare release jetty-9.0.0.v20130308 2013-03-08 11:33:15 -07:00
Joakim Erdfelt 7fc38f6c0f [maven-release-plugin] prepare for next development iteration 2013-03-07 19:14:19 -07:00
Joakim Erdfelt 96d045442f [maven-release-plugin] prepare release jetty-9.0.0.v20130307 2013-03-07 19:14:11 -07:00
Jesse McConnell 778ee1411b [maven-release-plugin] prepare for next development iteration 2013-03-06 10:21:46 -06:00
Jesse McConnell d916078711 [maven-release-plugin] prepare release jetty-9.0.0.v20130306 2013-03-06 10:21:38 -06:00
Joakim Erdfelt 3be67fa5d1 402008 - Websocket blocking write hangs when remote client dies (or is killed) without going thru Close handshake
+ Fixing close and callback failure notificiations to address issues
   with suddenly killed clients.
2013-03-05 13:54:23 -07:00
Joakim Erdfelt 2d74857ffa 402008 - Strange behavior when clients are suddenly killed
+ Fixing close and callback failure notificiations to address issues
   with suddenly killed clients.
2013-03-05 13:11:50 -07:00
Joakim Erdfelt 9e78529a17 402154 - WebSocket / Session.setIdleTimeout(ms) should support in-place idle timeout changes
+ Made WebSocketSession delegate idle timeouts to LogicalConnection,
   that way the EndPoint or Mux can manage the idle timeout accordingly.
2013-03-01 09:24:03 -07:00
Joakim Erdfelt 370bdafc15 Reverting direct ByteBuffer commits
+ Reverting commit : 5621f87c81
  + Reverting commit : bbcf0c77b8
2013-02-26 10:41:40 -07:00
Joakim Erdfelt 29b2118870 [maven-release-plugin] prepare for next development iteration 2013-02-26 09:20:45 -07:00
Joakim Erdfelt 2b82b54f6d [maven-release-plugin] prepare release jetty-9.0.0.RC2 2013-02-26 09:20:45 -07:00
Joakim Erdfelt 7a2b775f03 Reducing log noise 2013-02-23 16:44:49 -07:00
Joakim Erdfelt bbcf0c77b8 Switching to direct ByteBuffers 2013-02-23 16:44:49 -07:00
Joakim Erdfelt 5621f87c81 Switching to direct ByteBuffers 2013-02-23 16:44:49 -07:00
Joakim Erdfelt 61470cde2e 401427 - WebSocket messages sent from onConnect fail to be read by jetty websocket-client
+ Adding carryover of bytes remaining from UpgradeConnection to
   AbstractWebSocketConnection.parser
2013-02-21 15:32:37 -07:00
Joakim Erdfelt 660f6d2e85 399520 - Websocket Server Connection needs session idle timeouts 2013-02-21 08:21:01 -07:00
Joakim Erdfelt 820e20f042 Fixing license headers 2013-02-15 10:03:14 -07:00
Joakim Erdfelt 4fb1bc80da 393473 - Add support for JSR-356 (javax.websocket) draft
+ Refactoring EventDriver to be more pluggable (for jsr endpoints)
2013-02-13 13:37:26 -07:00
Joakim Erdfelt 43231d8451 393473 - Add support for JSR-356 (javax.websocket) draft
+ Restarting branch, copying over work from November with new JSR-356
   Draft 012 api in mind.
2013-02-12 16:19:35 -07:00
Joakim Erdfelt 9ae3c94b22 399520 - Websocket needs session idle timeouts
+ Integrated suggestions about AbstractConnection.onReadTimeout()
 + Enabled tests on client side
2013-02-12 13:51:06 -07:00
Joakim Erdfelt 4daba06175 400255 - Using WebSocket.maxMessageSize results in IllegalArgumentException
+ Adding testcase that replicated failure reported in issue
 + Fixing AnnotatedEventDriver error with input size
 + Fixing WebSocketSession detection of isOpen()
 + Fixing BigEchoSocket test for session.isOpen()
2013-02-11 16:50:01 -07:00
Joakim Erdfelt d505f481a4 400255 - Using WebSocket.maxMessageSize results in IllegalArgumentException 2013-02-11 16:24:13 -07:00
Joakim Erdfelt 4dc3ed38c2 [maven-release-plugin] prepare for next development iteration 2013-02-05 10:00:36 -07:00
Joakim Erdfelt ed24f78498 [maven-release-plugin] prepare release jetty-9.0.0.RC0 2013-02-05 10:00:36 -07:00
Jesse McConnell e073ceb06d [maven-release-plugin] prepare for next development iteration 2013-02-05 10:00:36 -07:00
Jesse McConnell 2f2ad287af [maven-release-plugin] prepare release jetty-9.0.0.RC0 2013-02-05 10:00:35 -07:00
Joakim Erdfelt b810ce6535 Adding synchronize for multi-threaded write concerns 2013-02-01 09:20:33 -07:00
Joakim Erdfelt 89d8972e74 399689 - Websocket RFC6455 extension handshake fails if server doesn't have extension
+ Fixing the fix that fixed the negotation to fix a bad fixation of the
  negotiated extensions
2013-01-31 16:14:30 -07:00
Joakim Erdfelt 261809380a 395444 - Disabling Websocket Compress Extensions (not working with Chrome / deflate problem)
+ Adding test case example of many server messages in a row
+ Disabling various compression extensions till a solution is found
2013-01-31 12:41:20 -07:00
Joakim Erdfelt 1480f3d8fc 399669 - Remove WebSocketConnection in favor of websocket.api.Session 2013-01-31 12:09:04 -07:00
Joakim Erdfelt 32cb1045ba Fixing logger name 2013-01-31 09:35:27 -07:00
Joakim Erdfelt b2951bdf5d 396428 - Test for WebSocket masking on client fragments per RFC 6455 Sec 5.1 2013-01-30 13:51:49 -07:00
Joakim Erdfelt 60088fa274 399515 - Websocket-client connect issues should report to websocket onError handlers 2013-01-30 12:15:15 -07:00
Joakim Erdfelt 5e8aa4eeb3 399421 - Add websocket.api.Session.disconnect() for harsh low level connection disconnect 2013-01-29 15:56:30 -07:00
Joakim Erdfelt 4f48bc7e7b 399343 - OnWebSocketConnect should use api.Session parameter instead.
+ Changed method signature for WebSocketListener and the various
  @OnWebSocket* annotations
2013-01-29 13:22:38 -07:00
Joakim Erdfelt 871b64cf38 Bug 399344 - Add missing @OnWebSocketError annotation 2013-01-29 13:22:38 -07:00
Joakim Erdfelt bfba20565a Removing out of date mux diagrams 2013-01-23 10:49:07 -07:00
Joakim Erdfelt f9cb26b5a7 Removing jsr diagrams from common, should only exist in jsr branch (for now) 2013-01-23 10:48:51 -07:00
Joakim Erdfelt c31f3a5501 Updating diagrams 2013-01-23 10:47:59 -07:00
Joakim Erdfelt 2e216dddb7 Consolidating WebSocketPolicy.setMax*Size() into single setMaxMessageSize() 2013-01-18 09:27:56 -07:00
Joakim Erdfelt b938245b14 Adding some javadoc, cleaning up package namespaces where appropriate 2013-01-17 15:41:33 -07:00
Joakim Erdfelt 4660f35210 393733 - WebSocketClient interface should support multiple connections
+ Removing deprecated methods from Session
+ Fixing client side UpgradeConnection to handle extension via new
  ExtensionStack object
+ Making ExtensionStack.getNegotiatedExtensions() return
  List<ExtensionConfig> instead of List<String>
+ Fixing tests that relied on changes
2013-01-16 15:11:57 -07:00
Joakim Erdfelt 1dfee4c992 393733 - WebSocketClient interface should support multiple connections
+ Reworking Connection Timeout handling
2013-01-16 15:11:57 -07:00
Joakim Erdfelt f20f0481b4 93733 - WebSocketClient interface should support multiple connections
+ Cleaning up no longer used items in WebSocketClient
+ Adding back Connect Timeout handling (unreliable atm)
+ Making ConnectPromise a FuturePromise with Runnable, no longer need
  FutureTask
+ Making sure Session is properly opened
+ Removing need for EventDriver.awaitActiveSession()
2013-01-16 15:11:57 -07:00
Joakim Erdfelt acaa2aa4de 393733 - WebSocketClient interface should support multiple connections
* Initial pass at merging functions of WebSocketClientFactory into
  WebSocketClient itself, eliminating the need for the factory.
* Introducing ConnectPromise to separate the connect future from
  the client itself, hopefully allowing for multiple connections
  from the client instance.
2013-01-16 15:11:56 -07:00
Joakim Erdfelt eff1262e49 398105 - Clean up WebSocketPolicy 2013-01-16 15:11:56 -07:00
Jesse McConnell e1c516c7d1 merge from jetty-8 and update license blocks. 2013-01-11 17:04:53 -06:00
Greg Wilkins 31def06214 jetty-9 URI parsing passed ByteBuffer so that strange query string encodings can be supported 2012-12-24 19:17:00 +11:00
Joakim Erdfelt 1936a0fc51 Fixing harmless NPE seen during testing. 2012-12-21 14:00:36 -07:00
Joakim Erdfelt 0ef9b23724 Fixing end user callback failure if runtime exception occurs, renaming enque to enqueue 2012-12-19 10:06:23 -07:00
Joakim Erdfelt ca1c3db642 Removing WriteResult class 2012-12-14 16:12:48 -07:00
Joakim Erdfelt e308f843db Replacing FrameBytes tree with WriteBytesProvider class 2012-12-14 16:12:48 -07:00
Joakim Erdfelt ecb472f30b Introducing WriteBytesProvider 2012-12-14 16:12:48 -07:00
Greg Wilkins 6bfc19be1b jetty-9 optimisation to dispatch before parsing so that handling is done in same thread 2012-12-14 09:50:22 +11:00
Joakim Erdfelt c8c15a4063 Removing test for inputClosed on BlockheadClient to fix test failure. 2012-12-13 13:28:05 -07:00
Joakim Erdfelt 60598c5c73 396518 - Websocket AB Tests should test for which side disconnected and closed.wasClean
+ adding AbstractWebSocketConnection.onWriteWebSocketClose() to allow
  for different behavior between client vs server TCP disconnect logic.
2012-12-13 13:28:05 -07:00
Jesse McConnell bf3c5c7922 add in some handshake state tracking into IOState to help track who initiated closes 2012-12-13 12:18:30 -06:00
Joakim Erdfelt 9bbfcd7e62 More websocket threading issues
* Using new IOState object in AbstractWebSocketConnection to better
  manage close handshake state and replies.
* Cleaning up many bad BufferPool.release() calls against ByteBuffers
  that didn't arrive from BufferPool.acquire()
* Removing many ByteBuffer.wrap() calls.
* Fixing FrameCompression / MessageCompression extension handling
  of ByteBuffers
2012-12-12 11:06:15 -07:00
Joakim Erdfelt baaf94eeae Fixing write of large websocket frames (25MB+)
+ Using ForkInvoker from util
+ Using FrameBytes logic from SPDY
+ Fixing bad flush logic
+ Fixing lazy BufferPool.release() logic
+ Fixing Buffer reuse issue
+ Fixing BlockheadServer to use ExtensionStack
+ Moving WriteResultFuture helper classes out of tests into main
+ Introducing common IOState handling for common close handshake use
2012-12-10 09:23:18 -07:00
Joakim Erdfelt 11cbe274af 395344 Move JSR-356 (Java WebSocket API) work off to Jetty 9.1.x 2012-11-28 16:55:13 -07:00
Greg Wilkins 7737dc8c76 394854 Implemented Promise 2012-11-23 12:18:51 +11:00
Jesse McConnell fdc9428c6f [maven-release-plugin] prepare for next development iteration 2012-11-19 18:06:01 -06:00
Jesse McConnell d89b6f9b88 [maven-release-plugin] prepare release jetty-9.0.0.M3 2012-11-19 18:05:54 -06:00
Greg Wilkins 97d2130a8f jetty-9 no debugging checked in 2012-11-19 15:08:53 +11:00
Joakim Erdfelt deed4e3db1 Fixing license header 2012-11-13 14:56:10 -07:00
Joakim Erdfelt d229364f9d Fixing jetty-osgi for new websocket artifacts 2012-11-13 12:50:27 -07:00
Joakim Erdfelt 169498cd9d Fixing Frame Decompress to work in Chrome 20.x 2012-11-12 20:52:54 -07:00
Joakim Erdfelt 42ec683297 Merge from 'master' to 'ws-refactor' 2012-11-12 16:22:11 -07:00
Joakim Erdfelt 884f1a3eff New ExtensionStack to manage Extensions easier and more consistently 2012-11-12 16:02:05 -07:00
Joakim Erdfelt 8548331735 Ripping out javax.net.websocket.extension.* SPI as it is going away 2012-11-12 12:36:39 -07:00
Joakim Erdfelt 09625a64e2 Adding more diagrams for javax.net.websocket layers 2012-11-07 12:01:25 -07:00
Joakim Erdfelt a7968c07be Rolling Extension and ExtensionConfig change into rest of websocket-common 2012-11-06 15:51:23 -07:00
Joakim Erdfelt 11ff35ccbb Adding missing @Override's 2012-11-06 15:50:27 -07:00
Joakim Erdfelt e625689a1c Using Extension interface, not AbstractExtension 2012-11-06 15:49:57 -07:00
Joakim Erdfelt b6a4e04b38 Removing RequestedExtensionConfig in favor of new ExtensionConfig class implementation in .api 2012-11-06 15:49:16 -07:00
Joakim Erdfelt 000cfe6986 Fixing UpgradeRequest / UpgradeResponse hierarchy. 2012-11-06 15:45:13 -07:00
Joakim Erdfelt 2e3447f6ef Making .common pass all existing tests 2012-11-05 17:57:39 -07:00
Joakim Erdfelt 053f91c8a0 Refactoring .core to .common and updating for .api 2012-11-05 17:18:44 -07:00
Joakim Erdfelt c1ce7780a6 Updating rest for websocket-api 2012-11-05 12:01:42 -07:00
Joakim Erdfelt d19f177cae First step 2012-11-02 11:42:44 -07:00