Example #1
0
 //Serializes and sends a given event.
 //We can change Format and File/Server sending type.
 void ProcessEvent(TrackerEvent evnt)
 {
     persistenceObject.SetType(new FilePersistence());
     serializaionObjct.SetType(new CSVSerializer());
     persistenceObject.Send(serializaionObjct.Serialize(evnt));
     serializaionObjct.SetType(new JSONSerializer());
     persistenceObject.Send(serializaionObjct.Serialize(evnt));
 }
Example #2
0
        //Tracker Loop
        private void Runnable()
        {
            DateTime dt = DateTime.Now;
            DateTime dtnow;
            TimeSpan result;
            int      seconds = 0;

            while (alive)
            {
                dtnow = DateTime.Now;

                result  = dtnow.Subtract(dt);
                seconds = Convert.ToInt32(result.TotalSeconds);

                //Checks if there is events yet to be serialized every ((tick)) seconds
                if (seconds > tick)
                {
                    flag    = !flag;
                    seconds = 0;
                    dt      = DateTime.Now;
                }

                while (flag && assetTrackerObject.Any())
                {
                    Console.WriteLine("New trace generated");
                    TrackerEvent obj = assetTrackerObject.Dequeue();

                    ProcessEvent(obj);
                }

                flag = false;
            }

            //Checks if there are any events left to be serialized.
            while (assetTrackerObject.Any())
            {
                Console.WriteLine("New trace generated");
                TrackerEvent obj = assetTrackerObject.Dequeue();

                ProcessEvent(obj);
            }
        }
Example #3
0
 //Adds an event to queue
 public void PushEvent(TrackerEvent evnt)
 {
     assetTrackerObject.Enqueue(evnt);
 }
Example #4
0
 public string Serialize(TrackerEvent evnt)
 {
     return(_type.Serialize(evnt));
 }