cshannon commented on code in PR #1885:
URL: https://github.com/apache/activemq/pull/1885#discussion_r3051831683
##########
activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java:
##########
@@ -431,6 +452,43 @@ protected synchronized int secureRead(ByteBuffer plain)
throws Exception {
return plain.remaining();
}
+ /**
+ * Checks if the connection is waiting for the broker to process an update
+ * to continue with handshaking and processes the necessary updates
+ *
+ * @return True if the handshake status was updated
+ * @throws IOException if an error occurs during processing
+ */
+ protected boolean handleHandshakeUpdate() throws IOException {
Review Comment:
It shouldn't need to be, the
[processCommand()](https://github.com/apache/activemq/blob/c8b71abe2f9f9a3b8643b0d888623053e37e9fb2/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java#L302)
method below is not synchronized and also mutates a bunch of state in the
transport including currentBuffer, nextFrameSize etc. All of that would break
if it need sync with multiple threads. We register the read selector on the
channel and give it this transport so i think only this one object should
process all the data.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact