Hello! I have a question about the RemoteEndpoint.Async sendText method.
The spec states: "Initiates the asynchronous transmission of a text
message. This method returns before the message is transmitted." To me,
this implies that the method should return immediately regardless of
network status (i.e. it should still return immediately even if the socket
connection has died without closing), but I've observed it blocking on
writes to a broken connection.

I'm also dealing with a known issue with timeouts on Tomcat 7 with a BIO
connector (https://bz.apache.org/bugzilla/show_bug.cgi?id=56304). Looking
at the source, the Basic/blocking sendText method calls sendPartialString,
which uses a Future in the same way that the Async sendText method does,
and then calls get on that Future with the configured timeout, so I'd
imagine that if the Basic/blocking method has broken timeouts then the
Async timeouts will be broken as well.

Am I mis-interpreting the spec by expecting Async sendText to return
immediately if the socket connection is broken? Is this just an extension
of the issue with BIO connectors?

My version information is:
Server version: Apache Tomcat/7.0.64
Server built:   Aug 19 2015 17:18:06 UTC
Server number:  7.0.64.0
OS Name:        Linux
OS Version:     3.13.0-57-generic
Architecture:   amd64
JVM Version:    1.8.0_131-b11
JVM Vendor:     Oracle Corporation

Thanks,
Z

Reply via email to