コード例 #1
0
ファイル: HostCollector.cs プロジェクト: vvposyagina/IDSNEW
 public string[] GetLastPackets()
 {
     string[] result = new string[PACKETS_COUNT_CONSTRAINT];
     lock (locker)
     {
         int i = 0;
         while (i < PACKETS_COUNT_CONSTRAINT)
         {
             LogMessage message = MessagesBuffer.Dequeue();
             result[i] = message.ToString();
             i++;
         }
     }
     return(result);
 }
コード例 #2
0
ファイル: HostCollector.cs プロジェクト: vvposyagina/IDSNEW
        public void GetNewEntry(Object source, EntryWrittenEventArgs e)
        {
            LogMessage newMessage = new LogMessage(e.Entry);

            MessagesBuffer.Enqueue(newMessage);

            //int randomNumber = rand.Next(2);

            //if (randomNumber == 1)
            //{
            //    MessagesBuffer.Enqueue(SuspiciousLogGenerator.GenerateSample(newMessage));
            //}

            MessagesBuffer.Enqueue(SuspiciousLogGenerator.GenerateSample(newMessage));

            if (MessagesBuffer.Count >= PACKETS_COUNT_CONSTRAINT && !Pause)
            {
                string[] data = GetLastPackets();
                if (queueIsFull != null)
                {
                    queueIsFull(data);
                }
            }
        }