Ejemplo n.º 1
0
 //public IList<Element> ToList()
 //{
 //    Console.WriteLine("ElementCollection:ToList");
 //    var list = new List<Element>();
 //    foreach (var singles in _singles)
 //        list.Add(singles);
 //    foreach (var multiple in _multiples)
 //        list.Add(multiple.Element);
 //    return list;
 //}
 public void DeHibernate(SliceCollection slices)
 {
     Console.WriteLine("ElementCollection:DeHibernate");
     if (_singles.Count > 0)
         foreach (var single in _singles)
         {
             var time = BitConverter.ToUInt64(single.Metadata, 0);
             if (time < EngineSettings.MaxTimeslicesTime)
                 throw new Exception("paranoia");
             var newTime = (ulong)(time -= EngineSettings.MaxTimeslicesTime);
             if (newTime < EngineSettings.MaxTimeslicesTime)
             {
                 _singles.Remove(single);
                 slices.Schedule(single, newTime);
             }
         }
     if (_multiples.Count > 0)
         foreach (var multiple in _multiples)
         {
             var time = BitConverter.ToUInt64(multiple.Metadata, 0);
             if (time < EngineSettings.MaxTimeslicesTime)
                 throw new Exception("paranoia");
             var newTime = (ulong)(time -= EngineSettings.MaxTimeslicesTime);
             if (newTime < EngineSettings.MaxTimeslicesTime)
             {
                 _multiples.Remove(multiple);
                 slices.Schedule(multiple.Element, newTime);
             }
         }
 }
Ejemplo n.º 2
0
        public void DeHibernate(SliceCollection slices)
        {
            Console.WriteLine("HibernateCollection:DeHibernate");
            var hibernate = _hibernates[0];

            hibernate.Elements.DeHibernate(slices);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Time.Element e = new Time.Element { ScheduleStyle = ElementScheduleStyle.Multiple, A = 5 };

            var s = new SliceCollection();
            s.Schedule(e, 10);
            s.MoveNextSlice();
            s.Dispose();

            Console.WriteLine("Done.");
        }
Ejemplo n.º 4
0
        //public IList<Element> ToList()
        //{
        //    Console.WriteLine("ElementCollection:ToList");
        //    var list = new List<Element>();
        //    foreach (var singles in _singles)
        //        list.Add(singles);
        //    foreach (var multiple in _multiples)
        //        list.Add(multiple.Element);
        //    return list;
        //}

        public void DeHibernate(SliceCollection slices)
        {
            Console.WriteLine("ElementCollection:DeHibernate");
            if (_singles.Count > 0)
            {
                foreach (var single in _singles)
                {
                    var time = BitConverter.ToUInt64(single.Metadata, 0);
                    if (time < EngineSettings.MaxTimeslicesTime)
                    {
                        throw new Exception("paranoia");
                    }
                    var newTime = (ulong)(time -= EngineSettings.MaxTimeslicesTime);
                    if (newTime < EngineSettings.MaxTimeslicesTime)
                    {
                        _singles.Remove(single);
                        slices.Schedule(single, newTime);
                    }
                }
            }
            if (_multiples.Count > 0)
            {
                foreach (var multiple in _multiples)
                {
                    var time = BitConverter.ToUInt64(multiple.Metadata, 0);
                    if (time < EngineSettings.MaxTimeslicesTime)
                    {
                        throw new Exception("paranoia");
                    }
                    var newTime = (ulong)(time -= EngineSettings.MaxTimeslicesTime);
                    if (newTime < EngineSettings.MaxTimeslicesTime)
                    {
                        _multiples.Remove(multiple);
                        slices.Schedule(multiple.Element, newTime);
                    }
                }
            }
        }
Ejemplo n.º 5
0
 public void DeHibernate(SliceCollection slices)
 {
     Console.WriteLine("HibernateCollection:DeHibernate");
     var hibernate = _hibernates[0];
     hibernate.Elements.DeHibernate(slices);
 }