示例#1
0
        internal void PostProcess(string name, ConsumerOptions @default = null)
        {
            BindingName = name;

            if (!Multiplex.HasValue)
            {
                Multiplex = (@default != null) ? @default.Multiplex : Multiplex_Default;
            }

            if (!UseNativeDecoding.HasValue)
            {
                UseNativeDecoding = (@default != null) ? @default.UseNativeDecoding : UseNativeDecoding_Default;
            }

            if (!HeaderMode.HasValue)
            {
                HeaderMode = (@default != null) ? @default.HeaderMode : Config.HeaderMode.None;
            }

            if (RetryableExceptions == null)
            {
                RetryableExceptions = (@default != null) ? @default.RetryableExceptions : new List <string>();
            }

            if (!DefaultRetryable.HasValue)
            {
                DefaultRetryable = (@default != null) ? @default.DefaultRetryable : DefaultRetryable_Default;
            }

            if (double.IsNaN(BackOffMultiplier))
            {
                BackOffMultiplier = (@default != null) ? @default.BackOffMultiplier : BackOffMultiplier_Default;
            }

            if (BackOffMaxInterval == int.MinValue)
            {
                BackOffMaxInterval = (@default != null) ? @default.BackOffMaxInterval : BackOffMaxInterval_Default;
            }

            if (BackOffInitialInterval == int.MinValue)
            {
                BackOffInitialInterval = (@default != null) ? @default.BackOffInitialInterval : BackOffInitialInterval_Default;
            }

            if (MaxAttempts == int.MinValue)
            {
                MaxAttempts = (@default != null) ? @default.MaxAttempts : MaxAttempts_Default;
            }

            if (InstanceIndex == int.MinValue)
            {
                InstanceIndex = (@default != null) ? @default.InstanceIndex : InstanceIndex_Default;
            }

            if (InstanceCount == int.MinValue)
            {
                InstanceCount = (@default != null) ? @default.InstanceCount : InstanceCount_Default;
            }

            if (InstanceIndexList == null)
            {
                InstanceIndexList = (@default != null) ? @default.InstanceIndexList : new List <int>();
            }

            if (!Partitioned.HasValue)
            {
                Partitioned = (@default != null) ? @default.Partitioned : IsPartitioned_Default;
            }

            if (Concurrency == int.MinValue)
            {
                Concurrency = (@default != null) ? @default.Concurrency : Concurrency_Default;
            }

            if (!AutoStartup.HasValue)
            {
                AutoStartup = (@default != null) ? @default.AutoStartup : AutoStartup_Default;
            }
        }