コード例 #1
0
        public void DepartureWithNotConsiderSlideSpan(CODTuple oldTuple, int currentStep)
        {
            CODEvent x = FindMin();

            if (x != null)
            {
                while (x.eventTrigger.eventTime == currentStep && FindMin() != null)
                {
                    x = ExtractMin();
                    ExtractCount++;
                    if (x.codTuple.preceedingNeighboursExpTime.Keys.Contains(oldTuple.tuple.ID))
                    {
                        x.codTuple.DeleteFromPreceedingExpTime(oldTuple.tuple.ID);

                        if (x.codTuple.numberOfSucceedingNeighbour + x.codTuple.preceedingNeighboursExpTime.Count < neighbourThreshold)
                        {
                            AddToOutlier(x.codTuple.tuple);
                        }
                        else
                        {
                            //update the event time for next check
                            Insert(x.codTuple);
                        }
                        x = FindMin();
                    }
                    else
                    {
                        //把x加回去
                        CODEventQueue.Add(x);
                    }
                }
            }

            //free the memory
            oldTuple.Dispose();
        }
コード例 #2
0
 public void Dispose()
 {
     codTuple.Dispose();
 }