/** The connection handler. */
private ConnectionHandler connectionHandler;
+ /** Whether the connection has already been established. */
+ private boolean established;
+
/**
* Creates a new connection.
*
//
/**
+ * Returns whether this connection has already been established.
+ *
+ * @return {@code true} as long as this connection is established, {@code
+ * false} otherwise
+ */
+ public boolean established() {
+ return established;
+ }
+
+ /**
* Returns the nickname that is currently in use by this connection. The
* nickname is only available once the connection has been {@link #start()}ed.
*
if ((connectionStatus == 0x0f) && (connectionStatus != oldConnectionStatus)) {
/* connection succeeded! */
+ established = true;
eventBus.post(new ConnectionEstablished(this));
}
oldConnectionStatus = connectionStatus;
logger.log(Level.WARNING, "I/O error", ioe1);
eventBus.post(new ConnectionClosed(this, ioe1));
} finally {
+ established = false;
logger.info("Closing Connection.");
try {
Closeables.close(connectionHandler, true);