/** * Logs out and disconnects session (if logged on) and then resets session state. * * @throws IOException IO error * @see SessionState#reset() */ public void reset() throws IOException { if (!isResetting.compareAndSet(false, true)) { return; } try { if (hasResponder() && isLoggedOn()) { if (application instanceof ApplicationExtended) { ((ApplicationExtended) application).onBeforeSessionReset(sessionID); } generateLogout(); disconnect("Session reset", false); } resetState(); } finally { isResetting.set(false); } }
/** * Logs out and disconnects session (if logged on) and then resets session state. * * @throws IOException IO error * @see SessionState#reset() */ public void reset() throws IOException { if (!isResetting.compareAndSet(false, true)) { return; } try { if (hasResponder() && isLoggedOn()) { if (application instanceof ApplicationExtended) { ((ApplicationExtended) application).onBeforeSessionReset(sessionID); } generateLogout(); disconnect("Session reset", false); } resetState(); } finally { isResetting.set(false); } }
/** * Logs out and disconnects session (if logged on) and then resets session state. * * @throws IOException IO error * @see SessionState#reset() */ public void reset() throws IOException { if (!isResetting.compareAndSet(false, true)) { return; } try { if (hasResponder() && isLoggedOn()) { if (application instanceof ApplicationExtended) { ((ApplicationExtended) application).onBeforeSessionReset(sessionID); } generateLogout(); disconnect("Session reset", false); } resetState(); } finally { isResetting.set(false); } }
resetState(); message.getHeader().setInt(MsgSeqNum.FIELD, getExpectedSenderNum());
resetState(); message.getHeader().setInt(MsgSeqNum.FIELD, getExpectedSenderNum());
resetState(); message.getHeader().setInt(MsgSeqNum.FIELD, getExpectedSenderNum());
private void nextLogout(Message logout) throws IOException, RejectLogon, FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType { if (!verify(logout, false, false)) { return; } state.setLogoutReceived(true); String msg; if (!state.isLogoutSent()) { msg = "Received logout request"; if (logout.isSetField(Text.FIELD)) { msg += ": " + logout.getString(Text.FIELD); } getLog().onEvent(msg); generateLogout(logout); getLog().onEvent("Sent logout response"); } else { msg = "Received logout response"; getLog().onEvent(msg); } // QFJ-750 if (getExpectedTargetNum() == logout.getHeader().getInt(MsgSeqNum.FIELD)) { state.incrNextTargetMsgSeqNum(); } if (resetOnLogout) { resetState(); } disconnect(msg, false); }
private void nextLogout(Message logout) throws IOException, RejectLogon, FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType { if (!verify(logout, false, false)) { return; } state.setLogoutReceived(true); String msg; if (!state.isLogoutSent()) { msg = "Received logout request"; if (logout.isSetField(Text.FIELD)) { msg += ": " + logout.getString(Text.FIELD); } getLog().onEvent(msg); generateLogout(logout); getLog().onEvent("Sent logout response"); } else { msg = "Received logout response"; getLog().onEvent(msg); } // QFJ-750 if (getExpectedTargetNum() == logout.getHeader().getInt(MsgSeqNum.FIELD)) { state.incrNextTargetMsgSeqNum(); } if (resetOnLogout) { resetState(); } disconnect(msg, false); }
private void nextLogout(Message logout) throws IOException, RejectLogon, FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType { if (!verify(logout, false, false)) { return; } state.setLogoutReceived(true); String msg; if (!state.isLogoutSent()) { msg = "Received logout request"; if (logout.isSetField(Text.FIELD)) { msg += ": " + logout.getString(Text.FIELD); } getLog().onEvent(msg); generateLogout(logout); getLog().onEvent("Sent logout response"); } else { msg = "Received logout response"; getLog().onEvent(msg); } // QFJ-750 if (getExpectedTargetNum() == logout.getHeader().getInt(MsgSeqNum.FIELD)) { state.incrNextTargetMsgSeqNum(); } if (resetOnLogout) { resetState(); } disconnect(msg, false); }
private boolean generateLogon() throws IOException { final Message logon = messageFactory.create(sessionID.getBeginString(), MsgType.LOGON); logon.setInt(EncryptMethod.FIELD, 0); logon.setInt(HeartBtInt.FIELD, state.getHeartBeatInterval()); if (sessionID.isFIXT()) { logon.setField(DefaultApplVerID.FIELD, senderDefaultApplVerID); } if (isStateRefreshNeeded(MsgType.LOGON)) { getLog().onEvent("Refreshing message/state store at logon"); getStore().refresh(); stateListener.onRefresh(); } if (resetOnLogon) { resetState(); } if (isResetNeeded()) { logon.setBoolean(ResetSeqNumFlag.FIELD, true); } state.setLastReceivedTime(SystemTime.currentTimeMillis()); state.clearTestRequestCounter(); state.setLogonSent(true); logonAttempts++; if (enableNextExpectedMsgSeqNum) { final int nextExpectedMsgNum = getExpectedTargetNum(); logon.setInt(NextExpectedMsgSeqNum.FIELD, nextExpectedMsgNum); state.setLastExpectedLogonNextSeqNum(nextExpectedMsgNum); } return sendRaw(logon, 0); }
private boolean generateLogon() throws IOException { final Message logon = messageFactory.create(sessionID.getBeginString(), MsgType.LOGON); logon.setInt(EncryptMethod.FIELD, 0); logon.setInt(HeartBtInt.FIELD, state.getHeartBeatInterval()); if (sessionID.isFIXT()) { logon.setField(DefaultApplVerID.FIELD, senderDefaultApplVerID); } if (isStateRefreshNeeded(MsgType.LOGON)) { getLog().onEvent("Refreshing message/state store at logon"); getStore().refresh(); stateListener.onRefresh(); } if (resetOnLogon) { resetState(); } if (isResetNeeded()) { logon.setBoolean(ResetSeqNumFlag.FIELD, true); } state.setLastReceivedTime(SystemTime.currentTimeMillis()); state.clearTestRequestCounter(); state.setLogonSent(true); logonAttempts++; if (enableNextExpectedMsgSeqNum) { final int nextExpectedMsgNum = getExpectedTargetNum(); logon.setInt(NextExpectedMsgSeqNum.FIELD, nextExpectedMsgNum); state.setLastExpectedLogonNextSeqNum(nextExpectedMsgNum); } return sendRaw(logon, 0); }
private boolean generateLogon() throws IOException { final Message logon = messageFactory.create(sessionID.getBeginString(), MsgType.LOGON); logon.setInt(EncryptMethod.FIELD, 0); logon.setInt(HeartBtInt.FIELD, state.getHeartBeatInterval()); if (sessionID.isFIXT()) { logon.setField(DefaultApplVerID.FIELD, senderDefaultApplVerID); } if (isStateRefreshNeeded(MsgType.LOGON)) { getLog().onEvent("Refreshing message/state store at logon"); getStore().refresh(); stateListener.onRefresh(); } if (resetOnLogon) { resetState(); } if (isResetNeeded()) { logon.setBoolean(ResetSeqNumFlag.FIELD, true); } state.setLastReceivedTime(SystemTime.currentTimeMillis()); state.clearTestRequestCounter(); state.setLogonSent(true); logonAttempts++; if (enableNextExpectedMsgSeqNum) { final int nextExpectedMsgNum = getExpectedTargetNum(); logon.setInt(NextExpectedMsgSeqNum.FIELD, nextExpectedMsgNum); state.setLastExpectedLogonNextSeqNum(nextExpectedMsgNum); } return sendRaw(logon, 0); }
getLog().onEvent("Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1"); if (!state.isResetSent()) { resetState(); resetState();
getLog().onEvent("Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1"); if (!state.isResetSent()) { resetState(); resetState();
getLog().onEvent("Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1"); if (!state.isResetSent()) { resetState(); resetState();