log.fine("topic='" + topicName + "'");
String replPrefix = (String)this.topicToPrefixMap.get(topicName);
if (replPrefix == null) {
// check if it is initial data
if (this.initialDataTopicSet.contains(topicName)) {
QosData qosData = msgUnit.getQosData();
Destination[] destinations = ((MsgQosData)qosData).getDestinationArr();
if (destinations != null) {
long numOfTransactions = qosData.getClientProperty(NUM_OF_TRANSACTIONS, 1L);
// negative amount of transactions means ptp entries
qosData.addClientProperty(NUM_OF_TRANSACTIONS, -numOfTransactions);
for (int i=0; i < destinations.length; i++) {
String sessionId = destinations[i].getDestination().getRelativeName();
I_ReplSlave slave = (I_ReplSlave)this.replSlaveMap.get(sessionId);
if (slave != null) {
slave.incrementPtPEntries(numOfTransactions);
}
else
log.warning("Slave '" + sessionId + "' not found in slave map");
}
}
}
return null;
}
Counter counter = (Counter)this.counterMap.get(replPrefix);
if (counter != null) {
QosData qosData = msgUnit.getQosData();
long messageSeq = qosData.getClientProperty(MESSAGE_SEQ, 0L);
long numOfTransactions = qosData.getClientProperty(NUM_OF_TRANSACTIONS, 1L);
int prio = ((MsgQosData)qosData).getPriority().getInt();
long transactionSeq = counter.trans[prio] + numOfTransactions;
qosData.addClientProperty(TRANSACTION_SEQ, transactionSeq);
if (messageSeq > 0L)
counter.msg = messageSeq;
if (transactionSeq > 0L)
counter.trans[prio] = transactionSeq;
if (messageSeq != 0L && transactionSeq != 0L) {