*/
public SessionMessage requestCompleted(String sessionId) {
try {
DeltaSession session = (DeltaSession) findSession(sessionId);
DeltaRequest deltaRequest = session.getDeltaRequest();
SessionMessage msg = null;
if (deltaRequest.getSize() > 0) {
byte[] data = unloadDeltaRequest(deltaRequest);
msg = new SessionMessage(name, SessionMessage.EVT_SESSION_DELTA,
data, sessionId,
sessionId+System.currentTimeMillis());
session.resetDeltaRequest();
} else if ( !session.isPrimarySession() ) {
msg = new SessionMessage(getName(),
SessionMessage.EVT_SESSION_ACCESSED,
null,
sessionId,
sessionId+System.currentTimeMillis());
}
session.setPrimarySession(true);
//check to see if we need to send out an access message
if ( (msg == null) ) {
long replDelta = System.currentTimeMillis() - session.getLastTimeReplicated();
if ( replDelta > (getMaxInactiveInterval()*1000) ) {
msg = new SessionMessage(getName(),
SessionMessage.EVT_SESSION_ACCESSED,
null,
sessionId+System.currentTimeMillis());
}