Merge pull request #416 from Flowdalic/connected-boolean

Set 'connected' to 'true' as early as possible
listEqualsHashcode
Florian Schmaus 2 years ago committed by GitHub
commit cf92566e26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
  2. 1
      smack-core/src/main/java/org/jivesoftware/smack/c2s/ModularXmppClientToServerConnection.java
  3. 6
      smack-core/src/main/java/org/jivesoftware/smack/c2s/internal/ModularXmppClientToServerConnectionInternal.java
  4. 2
      smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java

@ -522,6 +522,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
closingStreamReceived = false;
streamId = null;
// The connection should not be connected nor marked as such prior calling connectInternal().
assert !connected;
try {
// Perform the actual connection to the XMPP service
connectInternal();
@ -537,8 +540,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
throw e;
}
// Make note of the fact that we're now connected.
connected = true;
// If connectInternal() did not throw, then this connection must now be marked as connected.
assert connected;
callConnectionConnectedListener();
return this;

@ -217,6 +217,7 @@ public final class ModularXmppClientToServerConnection extends AbstractXMPPConne
@Override
public void setTransport(XmppClientToServerTransport xmppTransport) {
ModularXmppClientToServerConnection.this.activeTransport = xmppTransport;
ModularXmppClientToServerConnection.this.connected = true;
}
};

@ -116,5 +116,11 @@ public abstract class ModularXmppClientToServerConnectionInternal {
public abstract void setCompressionEnabled(boolean compressionEnabled);
/**
* Set the active transport (TCP, BOSH, WebSocket, ) to be used for the XMPP connection. Also marks the connection
* as connected.
*
* @param xmppTransport the active transport.
*/
public abstract void setTransport(XmppClientToServerTransport xmppTransport);
}

@ -836,6 +836,8 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
// there is an error establishing the connection
connectUsingConfiguration();
connected = true;
// We connected successfully to the servers TCP port
initConnection();

Loading…
Cancel
Save