olivier lamy
429b091578
Updating to version 10.0.0.beta1
2020-08-11 16:47:54 +08:00
Simone Bordet
c49035570e
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-convert_synchronized_to_autolock'.
2020-08-04 16:32:55 +02:00
Lachlan Roberts
dbeac5eb49
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-04 20:37:12 +10:00
Simone Bordet
089e51f0bc
Fixes #5083 - Convert synchronized usages to AutoLock.
...
Updates after review.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-29 15:34:01 +02:00
Lachlan Roberts
1be0220988
Issue #4919 - make the SessionTracker the one to implement Graceful shutdown
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-28 17:38:41 +10:00
Lachlan Roberts
9e383f0891
Issue #4919 - changes from review
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-28 16:48:49 +10:00
Simone Bordet
8d69fc41a7
Fixes #5083 - Convert synchronized usages to AutoLock.
...
* Replaced relevant usages of synchronized with AutoLock.
* Made AutoLock serializable since classes that use it may be stored in the HttpSession.
* Added convenience methods to AutoLock to execute lambdas with the lock held.
* Introduced AutoLock.WithCondition to use a Lock and a Condition together.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-27 23:14:05 +02:00
Lachlan Roberts
e13d26ab45
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-24 13:39:07 +10:00
Lachlan Roberts
e77c253267
Issue #5018 - fix merge to jetty-10, WSClient.connect Future should fail upgrade
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 11:17:05 +10:00
Lachlan Roberts
5726fa9364
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 10:19:53 +10:00
Lachlan Roberts
c94e82470d
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop
2020-07-17 15:32:10 +10:00
Lachlan Roberts
0a30525653
Issue #5043 - allow WebSocketListener / Endpoint anonymous classes to be used
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 12:44:54 +10:00
olivier lamy
eefe3d202b
revert fail release
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-07-10 15:04:22 +10:00
olivier lamy
9619a5a743
Updating to version 10.0.0.beta1
2020-07-10 14:23:28 +10:00
olivier lamy
aaeffb719e
Updating to version 10.0.0-SNAPSHOT
2020-07-09 12:25:34 +10:00
olivier lamy
23c99ffdbe
Updating to version 10.0.0.beta1
2020-07-09 11:20:55 +10:00
Lachlan Roberts
50b62c3771
Issue #4907 - merge synchronized blocks for suspendState
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-16 18:09:29 +10:00
Lachlan Roberts
bebe6fd138
Issue #4919 - always stop SessionTracker before closing connections
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 15:37:55 +10:00
Lachlan Roberts
277561e48b
Issue #4907 - moved to close state if any close frame is received
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-27 10:10:12 +10:00
Lachlan Roberts
d8fb116e12
Issue #4907 - close suspendState if response close frame is received
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 17:13:16 +10:00
Lachlan Roberts
11d14a65b4
Issue #2173 & #2174 - Split websocket-core into client/server/common modules
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-12 15:10:44 +10:00
Lachlan Roberts
6ee0f2ebbc
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-WebSocketServlet
2020-04-23 13:53:10 +10:00
Lachlan Roberts
b58697817f
Issue #4722 - create new module websocket-util-server
...
- This module contains the WebSocketUpgradeFilter.
- Also has an internal package with the components used
to implement websocket upgrades common to both the
jetty and javax websocket implementations.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 17:26:46 +10:00
Lachlan Roberts
4047e31ce7
Issue #4771 - cleanup and add tests for the different ws message handlers
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-15 10:50:27 +10:00
Lachlan Roberts
c0b6d9f677
Issue #4691 - changes from review
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-24 14:30:02 +11:00
Lachlan Roberts
04cc21fe40
Issue #4691 - use static methods with javadoc to get MethodHandle lookup
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-23 16:43:09 +11:00
Lachlan Roberts
d4c2893843
Issue #4691 - Remove unnecessary throws from getMethodHandleLookup.
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-23 11:44:06 +11:00
Simone Bordet
10f4fda0de
Issue #4691 - Use MethodHandles.lookup() consistently in WebSocket code.
...
* Using MethodHandles.publicLookup().in(...) instead of privateLookupIn(...).
* Moved test WebSocket EndPoint classes into the proper package, otherwise
they would not be accessible because the test package is not exported.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-03-22 16:42:13 +01:00
Joakim Erdfelt
43419802b7
Issue #4685 - Declare <scope> for jetty-slf4j-impl everywhere
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-03-20 11:12:08 -05:00
Joakim Erdfelt
2c600f2b68
Issue #4685 - Mark jetty-slf4j-impl as test scope by default
...
+ Update logging in test-hazelcast-sessions
+ Update logging in test-infinispan-sessions
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-03-20 09:55:15 -05:00
Joakim Erdfelt
a16abe1693
Issue #4685 - jetty-slf4j-impl not a compile/runtime dependency.
...
+ Mark as a test dependency
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-03-19 17:46:41 -05:00
Lachlan Roberts
e050160101
Merge branch jetty-10.0.x into jetty-10.0.x-WebSocket-JPMS
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-17 11:07:29 +11:00
Joakim Erdfelt
57604d0955
Issue #4572 - Mechanical Change to use org.slf4j
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-03-16 15:48:25 -05:00
Joakim Erdfelt
8b7e64915f
Issue #4572 - Replace Jetty Logging with SLF4J
...
* Introducing jetty-slf4j-impl
* Make Jetty use org.slf4j
* Removed most of org.eclipse.jetty.util.log classes
* Left org.eclipse.jetty.util.log.Log and
org.eclipse.jetty.util.log.Logger but as
simple bridge classes that are deprecated
* Migrated code using org.eclipse.jetty.util.log.StacklessLogging
to org.eclipse.jetty.logging.StacklessLogging found in
the jetty-slf4j-impl
* Moved logging start modules from jetty-util to jetty-home
* Simplified logging start modules
* Updated code that was using StdErrLog directly
* Updating module-info.java for org.slf4j
* removing org.eclipse.jetty.util.log.class references
* jetty-start supports manually declared default provider
+ and we use it to default "logging" to the "logging-jetty" provider
* Cleaning up jetty-maven-plugin and IT testing for Logging
* Using old slf4j for it testing
* Updating compiler config to show Xlint:exports warnings
* Updating console-capture and logging-noop
* Adding slf4j bridge (capture) jetty modules
* Updates to jetty logging module locations
* Changing reference to slf4j dependent mod
* Process requested enabled modules in topological order
* Limiting inclusions in shaded jetty-start
+ Also adding note to jetty-util classes that are used by
jetty-start
* Default logging level on baseline logging config is INFO (not DEBUG)
* Changing from system to server classes in logging
* Updating other modules to use new logging names
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-03-16 11:21:54 -05:00
Lachlan Roberts
ac69c53077
jetty websocket modules should not transitively export websocket-core
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-13 12:07:36 +11:00
Lachlan Roberts
97abed549b
Issue #4538 - Combine MessageWriterTests, add test for UTF-8 validation
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 16:13:22 +11:00
Lachlan Roberts
2467d5a8c5
Issue #4538 - Rework MessageInputStream and MessageReader
...
Message reader now validates UTF8
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:26 +11:00
Lachlan Roberts
6eccc7ebce
Issue #4538 - MessageWriter delegates to MessageOutputStream
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:15 +11:00
Lachlan
5fe202f29f
Issue #4548 - clean up websocket removing duplicated and unused classes ( #4549 )
...
Create new module websocket-util which contains implementation classes shared by websocket-jetty and websocket-javax. Many of these classes had to be changed as the javax and jetty versions of them differed slightly.
Also includes general cleanups, removed unused interfaces and classes, etc..
2020-02-18 21:43:54 +11:00
Lachlan Roberts
182daf8504
Issue #4501 - remove all SharedBlockingCallback usage from websocket
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 17:20:45 +11:00
Lachlan
19354d0c24
Merge pull request #4523 from eclipse/jetty-10.0.x-4502-wsOnClose
...
Issue #4502 - allow changing of close response from jetty and javax websocket onClose events
2020-01-30 09:10:48 +11:00
Simone Bordet
96741ebb28
Fixed compilation issues after merge.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-29 10:11:21 +01:00
Lachlan Roberts
1afb7fd1f2
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4450-WebSocketCoreJPMS
2020-01-29 19:21:39 +11:00
Lachlan Roberts
4ef208e9f6
Issue #4502 - onClose can now be triggered on receiving a close frame
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 15:19:48 +11:00
Lachlan
f6fd3c41a5
Issue #4462 - Prevent jetty 10 WebSocket close deadlocks ( #4472 )
...
- Replicate problems from WS close deadlock with test cases
- use FutureCallback instead of SharedBlockingCallback for WS blocking methods
- add timeout to the blocking callbacks for WS for (idleTimeout + 1000ms)
- Core throws ClosedChannelException instead of ISE if send after closed
2020-01-29 09:15:40 +11:00
Lachlan Roberts
f35a01c73c
further checkstyle fixes
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 17:26:07 +11:00
Lachlan Roberts
86037367bc
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4450-WebSocketCoreJPMS
2020-01-22 14:51:51 +11:00
Joakim Erdfelt
01a5974f4b
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# Jenkinsfile
# examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
# jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/HttpParserTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java
# jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParserTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/PathMapTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/matchers/HttpFieldsMatchersTest.java
# jetty-maven-plugin/src/test/java/org/eclipse/jetty/maven/plugin/it/TestGetContent.java
# jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterLenientTest.java
# jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterTest.java
# jetty-server/src/test/java/org/eclipse/jetty/server/PartialRFC2616Test.java
# jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipContentLengthTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
# jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketClient.java
# jetty-util/src/test/java/org/eclipse/jetty/util/B64CodeTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/ssl/X509Test.java
# jetty-webapp/src/test/java/org/eclipse/jetty/webapp/ClasspathPatternTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/LargeMessageTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerGoodSignaturesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerInvalidSignaturesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/utils/ReflectUtilsTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DelayedStartClientOnServerTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/RestartContextTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerGoodSignaturesTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerInvalidSignaturesTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConnectTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/WebSocketClientTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/extensions/ExtensionConfigTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilQuoteTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ConnectionManagerTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientInitTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase11.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase12.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase4.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase73.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScannerTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulatorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/ConnectionStateTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseHeaderParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageDebug.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/Utf8CharBufferTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/Utf8PartialBuilderTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/RedirectWebSocketClientTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase1.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase2.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase3.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase4.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase5.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6BadUTF.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6GoodUTF.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7BadStatusCodes.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7GoodStatusCodes.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase9.java
# pom.xml
# tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
# tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestHelper.java
# tests/test-webapps/test-jetty-webapp/src/test/java/org/eclipse/jetty/TestServer.java
# tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java
2020-01-15 12:20:20 -06:00
Joakim Erdfelt
1f8ad08281
Fixing Checkstyle violations
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-01-09 15:56:06 -06:00
Simone Bordet
5f82e17d2f
Issue #3578 - Adopt EPL-2.0 for Jetty-10.
...
WIP: updated copyright headers for Java files.
TODO: doc files and META-INF files inside jars.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 20:10:19 +01:00
Simone Bordet
17ec83f5cf
Merged 'jetty-10.0.x' into 'jetty-10.0.x-4450-WebSocketCoreJPMS'.
2020-01-07 17:26:31 +01:00
Simone Bordet
a5c99207fc
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2020-01-07 17:02:40 +01:00
olivier lamy
ff48fba585
happy new year
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:59:21 +01:00
Lachlan Roberts
356e98f737
Clean up websocket-core package structure
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-31 09:33:58 +11:00
Lachlan Roberts
c98897315c
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4225-jpms_transitivity
2019-12-27 19:27:59 +11:00
Lachlan Roberts
db0edf23de
Update websocket artifact IDs
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-23 13:32:21 +11:00
Lachlan Roberts
bc21b354c7
Rename websocket modules and directories with new naming convention.
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-20 15:41:55 +11:00