/** * No actual resend request has occurred but at logon we populated tag 789 so that the other side knows we * are missing messages without an explicit resend request and should immediately reply with the missing * messages. * * This is expected to be called only in the scenario where target is too high on logon and tag 789 is supported. */ public void setResetRangeFromLastExpectedLogonNextSeqNumLogon() { synchronized (lock) { // we have already requested all msgs from nextExpectedMsgSeqNum to infinity setResendRange(getLastExpectedLogonNextSeqNum(), 0); // clean up the variable (not really needed) setLastExpectedLogonNextSeqNum(0); } }
/** * No actual resend request has occurred but at logon we populated tag 789 so that the other side knows we * are missing messages without an explicit resend request and should immediately reply with the missing * messages. * * This is expected to be called only in the scenario where target is too high on logon and tag 789 is supported. */ public void setResetRangeFromLastExpectedLogonNextSeqNumLogon() { synchronized (lock) { // we have already requested all msgs from nextExpectedMsgSeqNum to infinity setResendRange(getLastExpectedLogonNextSeqNum(), 0); // clean up the variable (not really needed) setLastExpectedLogonNextSeqNum(0); } }
/** * No actual resend request has occurred but at logon we populated tag 789 so that the other side knows we * are missing messages without an explicit resend request and should immediately reply with the missing * messages. * * This is expected to be called only in the scenario where target is too high on logon and tag 789 is supported. */ public void setResetRangeFromLastExpectedLogonNextSeqNumLogon() { synchronized (lock) { // we have already requested all msgs from nextExpectedMsgSeqNum to infinity setResendRange(getLastExpectedLogonNextSeqNum(), 0); // clean up the variable (not really needed) setLastExpectedLogonNextSeqNum(0); } }
private void sendResendRequest(String beginString, int msgSeqNum, int beginSeqNo, int endSeqNo) { int lastEndSeqNoSent = resendRequestChunkSize == 0 ? endSeqNo : beginSeqNo + resendRequestChunkSize - 1; if (lastEndSeqNoSent > endSeqNo) { lastEndSeqNoSent = endSeqNo; } if (lastEndSeqNoSent == endSeqNo && !useClosedRangeForResend) { if (beginString.compareTo("FIX.4.2") >= 0) { endSeqNo = 0; } else if (beginString.compareTo("FIX.4.1") <= 0) { endSeqNo = 999999; } } else { endSeqNo = lastEndSeqNoSent; } final Message resendRequest = messageFactory.create(beginString, MsgType.RESEND_REQUEST); resendRequest.setInt(BeginSeqNo.FIELD, beginSeqNo); resendRequest.setInt(EndSeqNo.FIELD, endSeqNo); initializeHeader(resendRequest.getHeader()); sendRaw(resendRequest, 0); getLog().onEvent("Sent ResendRequest FROM: " + beginSeqNo + " TO: " + lastEndSeqNoSent); state.setResendRange(beginSeqNo, msgSeqNum - 1, resendRequestChunkSize == 0 ? 0 : lastEndSeqNoSent); }
private void sendResendRequest(String beginString, int msgSeqNum, int beginSeqNo, int endSeqNo) { int lastEndSeqNoSent = resendRequestChunkSize == 0 ? endSeqNo : beginSeqNo + resendRequestChunkSize - 1; if (lastEndSeqNoSent > endSeqNo) { lastEndSeqNoSent = endSeqNo; } if (lastEndSeqNoSent == endSeqNo && !useClosedRangeForResend) { if (beginString.compareTo("FIX.4.2") >= 0) { endSeqNo = 0; } else if (beginString.compareTo("FIX.4.1") <= 0) { endSeqNo = 999999; } } else { endSeqNo = lastEndSeqNoSent; } final Message resendRequest = messageFactory.create(beginString, MsgType.RESEND_REQUEST); resendRequest.setInt(BeginSeqNo.FIELD, beginSeqNo); resendRequest.setInt(EndSeqNo.FIELD, endSeqNo); initializeHeader(resendRequest.getHeader()); sendRaw(resendRequest, 0); getLog().onEvent("Sent ResendRequest FROM: " + beginSeqNo + " TO: " + lastEndSeqNoSent); state.setResendRange(beginSeqNo, msgSeqNum - 1, resendRequestChunkSize == 0 ? 0 : lastEndSeqNoSent); }
private void sendResendRequest(String beginString, int msgSeqNum, int beginSeqNo, int endSeqNo) { int lastEndSeqNoSent = resendRequestChunkSize == 0 ? endSeqNo : beginSeqNo + resendRequestChunkSize - 1; if (lastEndSeqNoSent > endSeqNo) { lastEndSeqNoSent = endSeqNo; } if (lastEndSeqNoSent == endSeqNo && !useClosedRangeForResend) { if (beginString.compareTo("FIX.4.2") >= 0) { endSeqNo = 0; } else if (beginString.compareTo("FIX.4.1") <= 0) { endSeqNo = 999999; } } else { endSeqNo = lastEndSeqNoSent; } final Message resendRequest = messageFactory.create(beginString, MsgType.RESEND_REQUEST); resendRequest.setInt(BeginSeqNo.FIELD, beginSeqNo); resendRequest.setInt(EndSeqNo.FIELD, endSeqNo); initializeHeader(resendRequest.getHeader()); sendRaw(resendRequest, 0); getLog().onEvent("Sent ResendRequest FROM: " + beginSeqNo + " TO: " + lastEndSeqNoSent); state.setResendRange(beginSeqNo, msgSeqNum - 1, resendRequestChunkSize == 0 ? 0 : lastEndSeqNoSent); }
state.clearQueue(); state.clearLogoutReason(); state.setResendRange(0, 0);
"ResendRequest for messages FROM " + range.getBeginSeqNo() + " TO " + range.getEndSeqNo() + " has been satisfied."); state.setResendRange(0, 0, 0);
"ResendRequest for messages FROM " + range.getBeginSeqNo() + " TO " + range.getEndSeqNo() + " has been satisfied."); state.setResendRange(0, 0, 0);
"ResendRequest for messages FROM " + range.getBeginSeqNo() + " TO " + range.getEndSeqNo() + " has been satisfied."); state.setResendRange(0, 0, 0);
state.clearQueue(); state.clearLogoutReason(); state.setResendRange(0, 0);
state.clearQueue(); state.clearLogoutReason(); state.setResendRange(0, 0);