Exemple #1
0
        // Token: 0x06000364 RID: 868 RVA: 0x00012880 File Offset: 0x00010A80
        public static bool TryReadConfigurationPaged <T>(ADConfigurationReader <ADPagedReader <T> > configurationReader, ADConfigurationProcessor <T> configurationProcessor, int retryCount, out ADOperationResult operationStatus) where T : IConfigurable, new()
        {
            if (configurationProcessor == null)
            {
                throw new ArgumentNullException("configurationProcessor");
            }
            ADPagedReader <T> pagedReader;

            if (!ADNotificationAdapter.TryReadConfiguration <ADPagedReader <T> >(configurationReader, out pagedReader, retryCount, out operationStatus))
            {
                return(false);
            }
            IEnumerator <T> enumerator = null;

            operationStatus = ADNotificationAdapter.TryRunADOperation(delegate()
            {
                enumerator = pagedReader.GetEnumerator();
            }, retryCount);
            if (!operationStatus.Succeeded)
            {
                return(false);
            }
            Breadcrumbs <Exception> exceptions = new Breadcrumbs <Exception>(32);

            try
            {
                for (;;)
                {
                    bool hasMore = false;
                    operationStatus = ADNotificationAdapter.TryRunADOperation(delegate()
                    {
                        try
                        {
                            hasMore = enumerator.MoveNext();
                        }
                        catch (Exception bc)
                        {
                            exceptions.Drop(bc);
                            enumerator.Dispose();
                            enumerator = pagedReader.GetEnumerator();
                            throw;
                        }
                    }, retryCount);
                    if (!operationStatus.Succeeded)
                    {
                        break;
                    }
                    if (!hasMore)
                    {
                        goto IL_AB;
                    }
                    configurationProcessor(enumerator.Current);
                }
                return(false);

                IL_AB :;
            }
            finally
            {
                enumerator.Dispose();
            }
            return(true);
        }
Exemple #2
0
        // Token: 0x06000361 RID: 865 RVA: 0x00012710 File Offset: 0x00010910
        public static void ReadConfigurationPaged <T>(ADConfigurationReader <ADPagedReader <T> > configurationReader, ADConfigurationProcessor <T> configurationProcessor, int retryCount) where T : IConfigurable, new()
        {
            if (configurationProcessor == null)
            {
                throw new ArgumentNullException("configurationProcessor");
            }
            ADPagedReader <T> pagedReader = ADNotificationAdapter.ReadConfiguration <ADPagedReader <T> >(configurationReader, retryCount);
            IEnumerator <T>   enumerator  = null;

            ADNotificationAdapter.RunADOperation(delegate()
            {
                enumerator = pagedReader.GetEnumerator();
            }, retryCount);
            Breadcrumbs <Exception> exceptions = new Breadcrumbs <Exception>(32);

            try
            {
                for (;;)
                {
                    bool hasMore = false;
                    ADNotificationAdapter.RunADOperation(delegate()
                    {
                        try
                        {
                            hasMore = enumerator.MoveNext();
                        }
                        catch (Exception bc)
                        {
                            exceptions.Drop(bc);
                            enumerator.Dispose();
                            enumerator = pagedReader.GetEnumerator();
                            throw;
                        }
                    }, retryCount);
                    if (!hasMore)
                    {
                        break;
                    }
                    configurationProcessor(enumerator.Current);
                }
            }
            finally
            {
                enumerator.Dispose();
            }
        }
Exemple #3
0
 // Token: 0x06000363 RID: 867 RVA: 0x000127DC File Offset: 0x000109DC
 public static bool TryReadConfigurationPaged <T>(ADConfigurationReader <ADPagedReader <T> > configurationReader, ADConfigurationProcessor <T> configurationProcessor, out ADOperationResult operationStatus) where T : IConfigurable, new()
 {
     return(ADNotificationAdapter.TryReadConfigurationPaged <T>(configurationReader, configurationProcessor, 10, out operationStatus));
 }
Exemple #4
0
 // Token: 0x06000360 RID: 864 RVA: 0x0001266D File Offset: 0x0001086D
 public static void ReadConfigurationPaged <T>(ADConfigurationReader <ADPagedReader <T> > configurationReader, ADConfigurationProcessor <T> configurationProcessor) where T : IConfigurable, new()
 {
     ADNotificationAdapter.ReadConfigurationPaged <T>(configurationReader, configurationProcessor, 10);
 }