Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -391,47 +391,47 @@ public ObjectName preRegister(MBeanServer server, ObjectName name) throws Except
// Session State Notifications
//

public void onConnect() {
public void onConnect(SessionID sessionID) {
sendNotification("connect");
}

public void onDisconnect() {
public void onDisconnect(SessionID sessionID) {
sendNotification("disconnect");
}

public void onLogon() {
public void onLogon(SessionID sessionID) {
sendNotification("logon");
}

public void onLogout() {
public void onLogout(SessionID sessionID) {
sendNotification("logout");
}

public void onHeartBeatTimeout() {
public void onHeartBeatTimeout(SessionID sessionID) {
sendNotification("heartBeatTimeout");
}

public void onMissedHeartBeat() {
public void onMissedHeartBeat(SessionID sessionID) {
sendNotification("missedHeartBeat");
}

public void onRefresh() {
public void onRefresh(SessionID sessionID) {
sendNotification("refresh");
}

public void onResendRequestSent(int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
public void onResendRequestSent(SessionID sessionID, int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
sendNotification("resendRequestSent");
}

public void onSequenceResetReceived(int newSeqNo, boolean gapFillFlag) {
public void onSequenceResetReceived(SessionID sessionID, int newSeqNo, boolean gapFillFlag) {
sendNotification("sequenceResetReceived");
}

public void onResendRequestSatisfied(int beginSeqNo, int endSeqNo) {
public void onResendRequestSatisfied(SessionID sessionID, int beginSeqNo, int endSeqNo) {
sendNotification("resentRequestSatisfied");
}

public void onReset() {
public void onReset(SessionID sessionID) {
sendNotification("reset");
}

Expand Down
22 changes: 11 additions & 11 deletions quickfixj-core/src/main/java/quickfix/Session.java
Original file line number Diff line number Diff line change
Expand Up @@ -579,9 +579,9 @@ public void setResponder(Responder responder) {
synchronized (responderLock) {
this.responder = responder;
if (responder != null) {
stateListener.onConnect();
stateListener.onConnect(sessionID);
} else {
stateListener.onDisconnect();
stateListener.onDisconnect(sessionID);
}
}
}
Expand Down Expand Up @@ -1508,7 +1508,7 @@ private void nextSequenceReset(Message sequenceReset) throws IOException, Reject

if (validateSequenceNumbers && sequenceReset.isSetField(NewSeqNo.FIELD)) {
final int newSequence = sequenceReset.getInt(NewSeqNo.FIELD);
stateListener.onSequenceResetReceived(newSequence, isGapFill);
stateListener.onSequenceResetReceived(sessionID, newSequence, isGapFill);
getLog().onEvent(
"Received SequenceReset FROM: " + getExpectedTargetNum() + " TO: "
+ newSequence);
Expand Down Expand Up @@ -1808,7 +1808,7 @@ private boolean verify(Message msg, boolean checkTooHigh, boolean checkTooLow)
getLog().onEvent(
"ResendRequest for messages FROM " + range.getBeginSeqNo() + " TO " + range.getEndSeqNo()
+ " has been satisfied.");
stateListener.onResendRequestSatisfied(range.getBeginSeqNo(), range.getEndSeqNo());
stateListener.onResendRequestSatisfied(sessionID, range.getBeginSeqNo(), range.getEndSeqNo());
state.setResendRange(0, 0, 0);
}
}
Expand Down Expand Up @@ -1977,15 +1977,15 @@ public void next() throws IOException {
if (state.isTimedOut()) {
if (!disableHeartBeatCheck) {
disconnect("Timed out waiting for heartbeat", true);
stateListener.onHeartBeatTimeout();
stateListener.onHeartBeatTimeout(sessionID);
} else {
LOG.warn("Heartbeat failure detected but deactivated");
}
} else {
if (state.isTestRequestNeeded()) {
generateTestRequest("TEST");
getLog().onEvent("Sent test request TEST");
stateListener.onMissedHeartBeat();
stateListener.onMissedHeartBeat(sessionID);
} else if (state.isHeartBeatNeeded()) {
generateHeartbeat();
}
Expand Down Expand Up @@ -2098,7 +2098,7 @@ public void disconnect(String reason, boolean logError) throws IOException {
logApplicationException("onLogout()", t);
}

stateListener.onLogout();
stateListener.onLogout(sessionID);
}
} finally {
state.setLogonReceived(false);
Expand Down Expand Up @@ -2279,7 +2279,7 @@ private void nextLogon(Message logon) throws FieldNotFound, RejectLogon, Incorre
} catch (final Throwable t) {
logApplicationException("onLogon()", t);
}
stateListener.onLogon();
stateListener.onLogon(sessionID);
lastSessionLogon = SystemTime.currentTimeMillis();
logonAttempts = 0;
}
Expand Down Expand Up @@ -2502,7 +2502,7 @@ private void sendResendRequest(String beginString, int msgSeqNum, int beginSeqNo
int resendRangeEndSeqNum = msgSeqNum - 1;
int resendRangeCurrentSeqNum = resendRequestChunkSize == 0 ? 0 : lastEndSeqNoSent;
state.setResendRange(beginSeqNo, resendRangeEndSeqNum, resendRangeCurrentSeqNum);
stateListener.onResendRequestSent(beginSeqNo, resendRangeEndSeqNum, resendRangeCurrentSeqNum);
stateListener.onResendRequestSent(sessionID, beginSeqNo, resendRangeEndSeqNum, resendRangeCurrentSeqNum);
}

private boolean validatePossDup(Message msg) throws FieldNotFound, IOException {
Expand Down Expand Up @@ -2678,7 +2678,7 @@ private void resetState() {
}
try {
state.reset();
stateListener.onReset();
stateListener.onReset(sessionID);
} finally {
isResettingState.set(false);
state.setResetStatePending(false);
Expand Down Expand Up @@ -3084,7 +3084,7 @@ private void setLogonTags(final Message logon) {
private void refreshState() throws IOException {
getLog().onEvent("Refreshing message/state store on Logon");
getStore().refresh();
stateListener.onRefresh();
stateListener.onRefresh(sessionID);
}

}
26 changes: 13 additions & 13 deletions quickfixj-core/src/main/java/quickfix/SessionStateListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,57 +23,58 @@ public interface SessionStateListener {
/**
* Called when connection has been established.
*/
default void onConnect() {
default void onConnect(SessionID sessionID) {
}

/**
* Called when Exception occurs during connection establishment.
*
* @param sessionID affected SessionID
* @param exception thrown Exception
*/
default void onConnectException(Exception exception) {
default void onConnectException(SessionID sessionID, Exception exception) {
}

/**
* Called when connection has been disconnected.
*/
default void onDisconnect() {
default void onDisconnect(SessionID sessionID) {
}

/**
* Called when session has been logged on.
*/
default void onLogon() {
default void onLogon(SessionID sessionID) {
}

/**
* Called when session has been logged out.
*/
default void onLogout() {
default void onLogout(SessionID sessionID) {
}

/**
* Called when message store gets reset.
*/
default void onReset() {
default void onReset(SessionID sessionID) {
}

/**
* Called when message store gets refreshed on Logon.
*/
default void onRefresh() {
default void onRefresh(SessionID sessionID) {
}

/**
* Called when TestRequest is sent out due to missed Heartbeat.
*/
default void onMissedHeartBeat() {
default void onMissedHeartBeat(SessionID sessionID) {
}

/**
* Called when Heartbeat timeout has been detected.
*/
default void onHeartBeatTimeout() {
default void onHeartBeatTimeout(SessionID sessionID) {
}

/**
Expand All @@ -84,7 +85,7 @@ default void onHeartBeatTimeout() {
* @param currentEndSeqNo last seqnum of range that gets requested on
* chunked ResendRequests
*/
default void onResendRequestSent(int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
default void onResendRequestSent(SessionID sessionID, int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
}

/**
Expand All @@ -93,7 +94,7 @@ default void onResendRequestSent(int beginSeqNo, int endSeqNo, int currentEndSeq
* @param newSeqNo NewSeqNo from SequenceReset
* @param gapFillFlag GapFillFlag from SequenceReset
*/
default void onSequenceResetReceived(int newSeqNo, boolean gapFillFlag) {
default void onSequenceResetReceived(SessionID sessionID, int newSeqNo, boolean gapFillFlag) {
}

/**
Expand All @@ -102,7 +103,6 @@ default void onSequenceResetReceived(int newSeqNo, boolean gapFillFlag) {
* @param beginSeqNo first seqnum that was requested
* @param endSeqNo last seqnum that was requested
*/
default void onResendRequestSatisfied(int beginSeqNo, int endSeqNo) {
default void onResendRequestSatisfied(SessionID sessionID, int beginSeqNo, int endSeqNo) {
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -263,10 +263,10 @@ private void handleConnectException(Throwable e) {
final String nextRetryMsg = " (Next retry in " + computeNextRetryConnectDelay() + " milliseconds)";
if (e instanceof IOException) {
fixSession.getLog().onErrorEvent(e.getClass().getName() + " during connection to " + socketAddress + ": " + e + nextRetryMsg);
fixSession.getStateListener().onConnectException((IOException) e);
fixSession.getStateListener().onConnectException(fixSession.getSessionID(), (IOException) e);
} else {
LogUtil.logThrowable(fixSession.getLog(), "Exception during connection to " + socketAddress + nextRetryMsg, e);
fixSession.getStateListener().onConnectException(new Exception(e));
fixSession.getStateListener().onConnectException(fixSession.getSessionID(), new Exception(e));
}
connectFuture = null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,37 +330,37 @@ public void disconnect() {
}
}

public void onConnect() {
public void onConnect(SessionID sessionID) {
}

public void onDisconnect() {
public void onDisconnect(SessionID sessionID) {
}

public void onLogon() {
public void onLogon(SessionID sessionID) {
}

public void onLogout() {
public void onLogout(SessionID sessionID) {
}

public void onReset() {
public void onReset(SessionID sessionID) {
}

public void onRefresh() {
public void onRefresh(SessionID sessionID) {
}

public void onMissedHeartBeat() {
public void onMissedHeartBeat(SessionID sessionID) {
}

public void onHeartBeatTimeout() {
public void onHeartBeatTimeout(SessionID sessionID) {
}

public void onResendRequestSent(int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
public void onResendRequestSent(SessionID sessionID, int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
}

public void onSequenceResetReceived(int newSeqNo, boolean gapFillFlag) {
public void onSequenceResetReceived(SessionID sessionID, int newSeqNo, boolean gapFillFlag) {
}

public void onResendRequestSatisfied(int beginSeqNo, int endSeqNo) {
public void onResendRequestSatisfied(SessionID sessionID, int beginSeqNo, int endSeqNo) {
}
}

Expand Down
22 changes: 11 additions & 11 deletions quickfixj-core/src/test/java/quickfix/SessionResetTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -107,38 +107,38 @@ public String getRemoteAddress() {
public void disconnect() {
}

public void onConnect() {
public void onConnect(SessionID sessionID) {
}

public void onDisconnect() {
public void onDisconnect(SessionID sessionID) {
}

public void onLogon() {
public void onLogon(SessionID sessionID) {
}

public void onLogout() {
public void onLogout(SessionID sessionID) {
}

public void onReset() {
public void onReset(SessionID sessionID) {
onResetCalled = true;
}

public void onRefresh() {
public void onRefresh(SessionID sessionID) {
}

public void onMissedHeartBeat() {
public void onMissedHeartBeat(SessionID sessionID) {
}

public void onHeartBeatTimeout() {
public void onHeartBeatTimeout(SessionID sessionID) {
}

public void onResendRequestSent(int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
public void onResendRequestSent(SessionID sessionID, int beginSeqNo, int endSeqNo, int currentEndSeqNo) {
}

public void onSequenceResetReceived(int newSeqNo, boolean gapFillFlag) {
public void onSequenceResetReceived(SessionID sessionID, int newSeqNo, boolean gapFillFlag) {
}

public void onResendRequestSatisfied(int beginSeqNo, int endSeqNo) {
public void onResendRequestSatisfied(SessionID sessionID, int beginSeqNo, int endSeqNo) {
}
}

Expand Down
4 changes: 2 additions & 2 deletions quickfixj-core/src/test/java/quickfix/SessionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1215,7 +1215,7 @@ public void testSendingTimeRejectBeforeLogon() throws Exception {

session.next(message);

verify(mockStateListener).onDisconnect();
verify(mockStateListener).onDisconnect(session.getSessionID());
verifyNoMoreInteractions(mockStateListener);
}
}
Expand All @@ -1238,7 +1238,7 @@ public void testCorruptLogonReject() throws Exception {

session.next(message);

verify(mockStateListener).onDisconnect();
verify(mockStateListener).onDisconnect(session.getSessionID());
verifyNoMoreInteractions(mockStateListener);
}
}
Expand Down
Loading