}
// Check good sequentiality of msg received
if (msg instanceof EntryMsg)
{
EntryMsg entryMsg = (EntryMsg)msg;
byte[] entryBytes = entryMsg.getEntryBytes();
ieContext.updateCounters(countEntryLimits(entryBytes));
if (ieContext.exporterProtocolVersion >=
ProtocolVersion.REPLICATION_PROTOCOL_V4)
{
// check the msgCnt of the msg received to check sequenciality
if (++ieContext.msgCnt != entryMsg.getMsgId())
{
if (ieContext.getException() == null)
ieContext.setException(new DirectoryException(ResultCode.OTHER,
ERR_INIT_BAD_MSG_ID_SEQ_DURING_IMPORT.get(
String.valueOf(ieContext.msgCnt),
String.valueOf(entryMsg.getMsgId()))));
return null;
}
// send the ack of flow control mgmt
if ((ieContext.msgCnt % (ieContext.initWindow/2)) == 0)
{
InitializeRcvAckMsg amsg = new InitializeRcvAckMsg(
this.serverID,
entryMsg.getSenderID(),
ieContext.msgCnt);
broker.publish(amsg, false);
if (debugEnabled())
TRACER.debugInfo(
"[IE] In " + this.monitor.getMonitorInstanceName() +