2627 Commits

Author SHA1 Message Date
Joakim Erdfelt
5e8a7078eb Issue #207 - more testing updates 2017-06-26 11:50:10 -07:00
Greg Wilkins
7148db67dc tidy up close 2017-06-26 11:50:09 -07:00
Joakim Erdfelt
dddf066e90 Issue #207 - Simplifying Connection and Close states
+ Removing IOState
+ Adding AtomicConnectionState
+ Adding AtomicClose
+ Reworking AbstractWebSocketConnection to be focused solely on
  low level Connection handling, with little to none websocket
  specifics.
+ WebSocketSession simplified
2017-06-26 11:50:08 -07:00
Joakim Erdfelt
fcb8693c52 Issue #207 - testcase rework due to new async behaviors
# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/ConnectionManager.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/RegexMatcher.java
2017-06-26 11:49:53 -07:00
Joakim Erdfelt
3888cd5347 Issue #207 - improve port handling in URI conversions 2017-06-26 11:43:27 -07:00
Joakim Erdfelt
affda23876 Issue #207 - ongoing testing improvements 2017-06-26 11:43:26 -07:00
Joakim Erdfelt
b2fa9cd23a Issue #207 - fixing compilation error 2017-06-26 11:43:25 -07:00
Joakim Erdfelt
38fefa6471 Issue #207 - Improved Error Handling 2017-06-26 11:43:24 -07:00
Joakim Erdfelt
d5151ddc90 Issue #207 - remove IncomingFrames#incomingError(throwable) 2017-06-26 11:43:22 -07:00
Joakim Erdfelt
b93925e03e Issue #207 - more work on policy / buffer behaviors 2017-06-26 11:43:21 -07:00
Joakim Erdfelt
aae4a24726 Issue #207 - reworking I/O to allow streaming backpressure 2017-06-26 11:43:20 -07:00
Joakim Erdfelt
be747c44e1 Issue #207 - removing unused section 2017-06-26 11:43:19 -07:00
Joakim Erdfelt
fa10576bc6 Issue #207 - initial pass through for Stream backpressure 2017-06-26 11:43:18 -07:00
Joakim Erdfelt
c3bb6ae535 Issue #207 - Cleaning up Args vs Signature classes
# Conflicts:
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/reflect/ArgSwitch.java
2017-06-26 11:37:11 -07:00
Joakim Erdfelt
2ee819c2c6 Issue #207 - adding addMessageHandler(<lambda>) tests 2017-06-26 11:33:34 -07:00
Joakim Erdfelt
0672f621e5 Issue #207 - Cannot catch PING in JSR356 2017-06-26 11:33:33 -07:00
Joakim Erdfelt
1c4d658be2 Issue #207 - Careful distinction between container policy, vs session policy
# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
2017-06-26 11:33:09 -07:00
Joakim Erdfelt
70d4850ed1 Issue #207 - working @PathParam support 2017-06-26 11:31:42 -07:00
Joakim Erdfelt
d8f06df8b2 Fixing master tests (no longer need to specify Configuration) 2017-06-26 11:31:41 -07:00
Joakim Erdfelt
3c790ab64e Issue #207 - fixing EchoTest 2017-06-26 11:31:40 -07:00
Christoph Dreis
41d4b59c19 Precompile pattern for checking of classes in javax package in ReflectUtils
Signed-off-by: dreis2211 <christoph.dreis@freenet.de>
2017-06-26 11:31:39 -07:00
Joakim Erdfelt
75c5793f38 Issue #207 - @PathParam support fixes
+ Arg.tag is now exposed for general use
+ JsrEndpointFunctions now decode (into primitives) the URI template
  exposed @PathParam static arguments
+ JsrEndpointFunctions simplified tracking of static args
+ ServerContainer.assertValidEndpoint() now validates
  added endpoints with @PathParam immediately (per spec)
  using a UriTemplate where each variable is an empty string
2017-06-26 11:31:37 -07:00
Joakim Erdfelt
f790bf75d8 Issue #207 - prevent overlapping websocket streaming dispatch
+ when FIN==true, wait for dispatch to return before processing
  more frames
2017-06-26 11:31:36 -07:00
Joakim Erdfelt
52a8101cd2 Issue #207 - ensuring WebSocketServerFactory init occurs earlier 2017-06-26 11:31:35 -07:00
Joakim Erdfelt
61dc476342 Removing eclipse detrius 2017-06-26 11:31:34 -07:00
Joakim Erdfelt
527e5f8e4c Issue #207 - improving errors for Encoders/Decoders 2017-06-26 11:31:33 -07:00
Joakim Erdfelt
d10de87e09 Issue #207 - javax.websocket.DeploymentException thrown at addEndpoint now 2017-06-26 11:31:32 -07:00
Joakim Erdfelt
3a37386ae9 Issue #207 - Using connection idle-timeout declared in annotation 2017-06-26 11:31:31 -07:00
Joakim Erdfelt
fa635f5ecd Issue #207 - correcting lifecycle of WebSocketSession and EndpointFunctions
# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/ConnectPromise.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
2017-06-26 11:30:35 -07:00
Joakim Erdfelt
1d3c1cefbe Fixing up testcase reporting 2017-06-26 11:29:15 -07:00
Joakim Erdfelt
1a8e79c9bb Issue #207 - Support javax.websocket version 1.1
+ More testcase improvements
2017-06-26 11:29:14 -07:00
Joakim Erdfelt
43ef087efd Issue #207 - Support javax.websocket version 1.1
+ Correcting tests
2017-06-26 11:29:12 -07:00
Joakim Erdfelt
9ffb266ccb Issue #207 - Support javax.websocket version 1.1
+ Cleaning up WebSocketPolicy usage

# Conflicts:
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java
2017-06-26 11:28:45 -07:00
Joakim Erdfelt
bfe0584356 Issue #207 - Support javax.websocket version 1.1
+ Correcting jsr server PathParam static args sort issue
2017-06-26 11:25:45 -07:00
Joakim Erdfelt
2fac7f07aa Issue #207 - Support javax.websocket version 1.1
+ Removing more EventDriver references
+ Fixing bad implementation exposed by testcases

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/AbstractJsrEventDriver.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointImpl.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEventDriverFactory.java
2017-06-26 11:24:30 -07:00
Joakim Erdfelt
c03037e757 Fixing up javadoc 2017-06-26 11:23:37 -07:00
Joakim Erdfelt
66f424cfaf Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:23:36 -07:00
Joakim Erdfelt
4c01fd96c8 Issue #207 - Support javax.websocket version 1.1
# Conflicts:
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointMetadata.java
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrPathParamId.java
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrServerEndpointImpl.java
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrServerExtendsEndpointImpl.java
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/SimpleServerEndpointMetadata.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnPartialTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_GoodSignaturesTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java
2017-06-26 11:23:00 -07:00
Joakim Erdfelt
df584babc0 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:22:41 -07:00
Joakim Erdfelt
a1333786a9 Issue #207 - Support javax.websocket version 1.1
# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/DecoderFactoryTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderFactoryTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactoryTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdDecoderTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/decoders/PrimitiveDecoderMetadataSetTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadataSetTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
2017-06-26 11:22:27 -07:00
Joakim Erdfelt
53c9435183 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:20:14 -07:00
Joakim Erdfelt
31174ba434 Issue #207 - Support javax.websocket version 1.1
# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerWrapper.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/IJsrMethod.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/IJsrParamId.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdBase.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdBinary.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdDecoder.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnClose.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnError.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnOpen.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdPong.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdText.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnCloseCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnErrorCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryStreamCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessagePongCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextStreamCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnOpenCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/Param.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/AnnotatedClientEndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/JsrClientEndpointImpl.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/SimpleEndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/decoders/PrimitiveDecoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryArrayPartialMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryPartialOnMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryWholeMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextPartialMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextPartialOnMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextWholeMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/CoderMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/CoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSet.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EndpointMetadata.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/MessageHandlerMetadata.java
2017-06-26 11:20:11 -07:00
Joakim Erdfelt
357fae18ae Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:19:02 -07:00
Joakim Erdfelt
1f196f5276 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:19:01 -07:00
Joakim Erdfelt
94ea9f5b05 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:18:59 -07:00
Joakim Erdfelt
c8ffaec032 Issue #207 - Support javax.websocket version 1.1 2017-06-26 11:18:58 -07:00
Joakim Erdfelt
c5954fc5d6 Trailing merge fixes 2017-06-26 11:18:57 -07:00
Joakim Erdfelt
c4f7d03138 Issue #207 - Support javax.websocket version 1.1
WIP

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/encoders/DualEncoder.java
2017-06-26 11:18:41 -07:00
Joakim Erdfelt
b3edcce8e7 Issue #207 - Support javax.websocket version 1.1
WIP

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_GoodSignaturesTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java
2017-06-26 10:57:23 -07:00
Joakim Erdfelt
9a6644ec7b Issue #207 - Support javax.websocket version 1.1
WIP
2017-06-26 10:57:08 -07:00