use of com.swiftmq.tools.util.DataStreamOutputStream in project swiftmq-client by iitsoftware.
the class Connector method visit.
public void visit(POReconnect po) {
if (debug)
System.out.println(toString() + ", visit, po=" + po + " ...");
if (closed) {
if (debug)
System.out.println(toString() + ", visit, po=" + po + ", closed, return");
if (po.getSemaphore() != null)
po.getSemaphore().notifySingleWaiter();
return;
}
if (reconnectInProgress && !po.isInternalRetry()) {
if (debug)
System.out.println(toString() + ", visit, po=" + po + ", reconnect already in progress");
if (po.getSemaphore() != null)
po.getSemaphore().notifySingleWaiter();
} else {
reconnectInProgress = true;
recreateStarted = false;
sem = po.getSemaphore();
recreatableConnection = po.getRecreatableConnection();
if (!po.isInternalRetry())
recreatableConnection.prepareForReconnect();
connection = reconnector.getConnection();
if (connection != null) {
if (debug)
System.out.println(toString() + ", visit, po=" + po + ", connection=" + connection);
connection.setInboundHandler(this);
connection.setExceptionHandler(this);
outStream = new DataStreamOutputStream(connection.getOutputStream());
try {
connection.start();
dispatch(new POVersionRequest());
} catch (Exception e) {
if (debug)
System.out.println(toString() + ", visit, po=" + po + ", exception connection.start()=" + e);
reconnector.invalidateConnection();
connection = null;
dispatch(new POHandover());
}
} else
dispatch(new POHandover());
}
if (debug)
System.out.println(toString() + ", visit, po=" + po + " done");
}
use of com.swiftmq.tools.util.DataStreamOutputStream in project swiftmq-ce by iitsoftware.
the class VersionSelector method sendReply.
private void sendReply(SMQPVersionReply reply) throws IOException {
DataStreamOutputStream dos = new DataStreamOutputStream(connection.getOutputStream());
Dumpalizer.dump(dos, reply);
dos.flush();
if (!reply.isOk()) {
ctx.timerSwiftlet.addInstantTimerListener(10000, new TimerListener() {
public void performTimeAction() {
ctx.networkSwiftlet.getConnectionManager().removeConnection(connection);
}
});
}
}
Aggregations