public SeqNumPair GetNewMessages(SeqNumPair priorSeqNumPair, ref Queue <Logging.ILogMessage> updateMesgQueue) { SeqNumPair currentSeqNumPair = new SeqNumPair(LastMesgAddedSeqNum, contentResetChangeSeqNum.Value); Int64 finalLastMesgAddedSeqNum = currentSeqNumPair.LastMesgAddedSeqNum; if (priorSeqNumPair.IsContentReplaced(currentSeqNumPair)) { lock (rawLogMesgArrayMutex) { rawLogMesgArray.AppendMesgsSinceSeqNum(0, ref updateMesgQueue, out finalLastMesgAddedSeqNum); } } else if (priorSeqNumPair.AreThereAddedMesgs(currentSeqNumPair)) { lock (rawLogMesgArrayMutex) { rawLogMesgArray.AppendMesgsSinceSeqNum(priorSeqNumPair.LastMesgAddedSeqNum, ref updateMesgQueue, out finalLastMesgAddedSeqNum); } } currentSeqNumPair.LastMesgAddedSeqNum = finalLastMesgAddedSeqNum; return(currentSeqNumPair); }
public bool AreThereAddedMesgs(SeqNumPair rhs) { return(LastMesgAddedSeqNum != rhs.LastMesgAddedSeqNum); }
public bool IsContentReplaced(SeqNumPair rhs) { return(ContentResetChangeSeqNum != rhs.ContentResetChangeSeqNum); }
public bool AreThereAnyChanges(SeqNumPair rhs) { return(AreThereAddedMesgs(rhs) || IsContentReplaced(rhs)); }