Esempio n. 1
0
        public static void UnregisterPartitionOwner(string owner, int partitionId)
        {
            PartitionOwner partitionOwner = PartitionOwnerStats.FirstOrDefault(x => x.Name == owner);

            if (partitionOwner == null)
            {
                partitionOwner = new PartitionOwner {
                    Name = owner,
                };
                PartitionOwnerStats.Add(partitionOwner);
            }

            switch (partitionId)
            {
            case 00: partitionOwner.HasPartition00Since = null; break;

            case 01: partitionOwner.HasPartition01Since = null; break;

            case 02: partitionOwner.HasPartition02Since = null; break;

            case 03: partitionOwner.HasPartition03Since = null; break;

            case 04: partitionOwner.HasPartition04Since = null; break;

            case 05: partitionOwner.HasPartition05Since = null; break;

            case 06: partitionOwner.HasPartition06Since = null; break;

            case 07: partitionOwner.HasPartition07Since = null; break;

            case 08: partitionOwner.HasPartition08Since = null; break;

            case 09: partitionOwner.HasPartition09Since = null; break;

            case 10: partitionOwner.HasPartition10Since = null; break;

            case 11: partitionOwner.HasPartition11Since = null; break;

            case 12: partitionOwner.HasPartition12Since = null; break;

            case 13: partitionOwner.HasPartition13Since = null; break;

            case 14: partitionOwner.HasPartition14Since = null; break;

            case 15: partitionOwner.HasPartition15Since = null; break;

            case 16: partitionOwner.HasPartition16Since = null; break;

            case 17: partitionOwner.HasPartition17Since = null; break;

            case 18: partitionOwner.HasPartition18Since = null; break;

            case 19: partitionOwner.HasPartition19Since = null; break;

            case 20: partitionOwner.HasPartition20Since = null; break;

            case 21: partitionOwner.HasPartition21Since = null; break;

            case 22: partitionOwner.HasPartition22Since = null; break;

            case 23: partitionOwner.HasPartition23Since = null; break;

            case 24: partitionOwner.HasPartition24Since = null; break;

            case 25: partitionOwner.HasPartition25Since = null; break;

            case 26: partitionOwner.HasPartition26Since = null; break;

            case 27: partitionOwner.HasPartition27Since = null; break;

            case 28: partitionOwner.HasPartition28Since = null; break;

            case 29: partitionOwner.HasPartition29Since = null; break;

            case 30: partitionOwner.HasPartition30Since = null; break;

            case 31: partitionOwner.HasPartition31Since = null; break;
            }
        }
Esempio n. 2
0
        public static void RegisterPartitionOwner(string owner, int partitionId)
        {
            PartitionOwner partitionOwner = PartitionOwnerStats.FirstOrDefault(x => x.Name == owner);

            // Double checked locking for efficiency and to prevent duplicate owners, since this call is executed in a
            // highly multithreaded environment.
            if (partitionOwner == null)
            {
                lock (PartitionOwnerStats)
                {
                    partitionOwner = PartitionOwnerStats.FirstOrDefault(x => x.Name == owner);

                    if (partitionOwner == null)
                    {
                        partitionOwner = new PartitionOwner {
                            Name = owner,
                        };
                        PartitionOwnerStats.Add(partitionOwner);
                    }
                }
            }

            switch (partitionId)
            {
            case 00: partitionOwner.HasPartition00Since = DateTime.Now; break;

            case 01: partitionOwner.HasPartition01Since = DateTime.Now; break;

            case 02: partitionOwner.HasPartition02Since = DateTime.Now; break;

            case 03: partitionOwner.HasPartition03Since = DateTime.Now; break;

            case 04: partitionOwner.HasPartition04Since = DateTime.Now; break;

            case 05: partitionOwner.HasPartition05Since = DateTime.Now; break;

            case 06: partitionOwner.HasPartition06Since = DateTime.Now; break;

            case 07: partitionOwner.HasPartition07Since = DateTime.Now; break;

            case 08: partitionOwner.HasPartition08Since = DateTime.Now; break;

            case 09: partitionOwner.HasPartition09Since = DateTime.Now; break;

            case 10: partitionOwner.HasPartition10Since = DateTime.Now; break;

            case 11: partitionOwner.HasPartition11Since = DateTime.Now; break;

            case 12: partitionOwner.HasPartition12Since = DateTime.Now; break;

            case 13: partitionOwner.HasPartition13Since = DateTime.Now; break;

            case 14: partitionOwner.HasPartition14Since = DateTime.Now; break;

            case 15: partitionOwner.HasPartition15Since = DateTime.Now; break;

            case 16: partitionOwner.HasPartition16Since = DateTime.Now; break;

            case 17: partitionOwner.HasPartition17Since = DateTime.Now; break;

            case 18: partitionOwner.HasPartition18Since = DateTime.Now; break;

            case 19: partitionOwner.HasPartition19Since = DateTime.Now; break;

            case 20: partitionOwner.HasPartition20Since = DateTime.Now; break;

            case 21: partitionOwner.HasPartition21Since = DateTime.Now; break;

            case 22: partitionOwner.HasPartition22Since = DateTime.Now; break;

            case 23: partitionOwner.HasPartition23Since = DateTime.Now; break;

            case 24: partitionOwner.HasPartition24Since = DateTime.Now; break;

            case 25: partitionOwner.HasPartition25Since = DateTime.Now; break;

            case 26: partitionOwner.HasPartition26Since = DateTime.Now; break;

            case 27: partitionOwner.HasPartition27Since = DateTime.Now; break;

            case 28: partitionOwner.HasPartition28Since = DateTime.Now; break;

            case 29: partitionOwner.HasPartition29Since = DateTime.Now; break;

            case 30: partitionOwner.HasPartition30Since = DateTime.Now; break;

            case 31: partitionOwner.HasPartition31Since = DateTime.Now; break;
            }
        }