// Token: 0x06000016 RID: 22 RVA: 0x000024CC File Offset: 0x000006CC private static void ConstructComponentLoadTree() { TransportAppConfig.IsMemberOfResolverConfiguration transportIsMemberOfResolverConfig = Components.TransportAppConfig.TransportIsMemberOfResolverConfig; IsMemberOfResolverADAdapter <RoutingAddress> .RoutingAddressResolver adAdapter = new IsMemberOfResolverADAdapter <RoutingAddress> .RoutingAddressResolver(transportIsMemberOfResolverConfig.DisableDynamicGroups); Components.AgentComponent = new AgentComponent(); Components.RoutingComponent = new RoutingComponent(); Components.EnhancedDns = new EnhancedDns(); Components.UnhealthyTargetFilterComponent = new UnhealthyTargetFilterComponent(); Components.ProxyHubSelectorComponent = new ProxyHubSelectorComponent(); Components.CertificateComponent = new CertificateComponent(); Components.Configuration = new ConfigurationComponent(ProcessTransportRole.FrontEnd); Components.MessageThrottlingComponent = new MessageThrottlingComponent(); Components.ResourceManagerComponent = new ResourceManagerComponent(ResourceManagerResources.PrivateBytes | ResourceManagerResources.TotalBytes); Components.SmtpInComponent = new SmtpInComponent(false); Components.SmtpOutConnectionHandler = new SmtpOutConnectionHandler(); Components.SystemCheckComponent = new SystemCheckComponent(); Components.TransportIsMemberOfResolverComponent = new IsMemberOfResolverComponent <RoutingAddress>("Transport", transportIsMemberOfResolverConfig, adAdapter); Components.TransportMailItemLoader item = new Components.TransportMailItemLoader(); Components.Logging = new Components.LoggingComponent(false, false, false, false, true); StorageFactory.SchemaToUse = StorageFactory.Schema.NullSchema; Components.MessagingDatabase = new MessagingDatabaseComponent(); Components.ResourceThrottlingComponent = new ResourceThrottlingComponent(new ResourceMeteringConfig(8000, null), new ResourceThrottlingConfig(null), new ComponentsWrapper(), Components.MessagingDatabase, null, Components.Configuration, ResourceManagerResources.PrivateBytes | ResourceManagerResources.TotalBytes, ResourceObservingComponents.EnhancedDns | ResourceObservingComponents.IsMemberOfResolver | ResourceObservingComponents.SmtpIn); Components.PerfCountersLoader perfCountersLoader = new Components.PerfCountersLoader(false); Components.PerfCountersLoaderComponent = perfCountersLoader; ParallelTransportComponent parallelTransportComponent = new ParallelTransportComponent("AD Configuration Readers"); parallelTransportComponent.TransportComponents.Add(item); parallelTransportComponent.TransportComponents.Add(Components.TransportIsMemberOfResolverComponent); parallelTransportComponent.TransportComponents.Add(perfCountersLoader); parallelTransportComponent.TransportComponents.Add(Components.Logging); parallelTransportComponent.TransportComponents.Add(new Components.ServicePrincipalNameRegistrar()); parallelTransportComponent.TransportComponents.Add(Components.MessageThrottlingComponent); parallelTransportComponent.TransportComponents.Add(new Components.DirectTrustLoader()); SequentialTransportComponent sequentialTransportComponent = new SequentialTransportComponent("Resource Manager"); sequentialTransportComponent.TransportComponents.Add(Components.ResourceManagerComponent); ParallelTransportComponent parallelTransportComponent2 = new ParallelTransportComponent("Configuration, Certificate, and Resource Manager components"); parallelTransportComponent2.TransportComponents.Add(sequentialTransportComponent); parallelTransportComponent2.TransportComponents.Add(Components.CertificateComponent); SequentialTransportComponent sequentialTransportComponent2 = new SequentialTransportComponent("Root Component"); sequentialTransportComponent2.TransportComponents.Add((ITransportComponent)Components.Configuration); sequentialTransportComponent2.TransportComponents.Add(Components.SystemCheckComponent); sequentialTransportComponent2.TransportComponents.Add(parallelTransportComponent2); sequentialTransportComponent2.TransportComponents.Add((ITransportComponent)Components.AgentComponent); sequentialTransportComponent2.TransportComponents.Add(parallelTransportComponent); sequentialTransportComponent2.TransportComponents.Add(Components.RoutingComponent); sequentialTransportComponent2.TransportComponents.Add(Components.EnhancedDns); sequentialTransportComponent2.TransportComponents.Add(Components.UnhealthyTargetFilterComponent); sequentialTransportComponent2.TransportComponents.Add(Components.ProxyHubSelectorComponent); ParallelTransportComponent parallelTransportComponent3 = new ParallelTransportComponent("SmtpIn and SmtpOut"); parallelTransportComponent3.TransportComponents.Add(Components.SmtpInComponent); parallelTransportComponent3.TransportComponents.Add(Components.SmtpOutConnectionHandler); sequentialTransportComponent2.TransportComponents.Add(parallelTransportComponent3); sequentialTransportComponent2.TransportComponents.Add(new FrontEndBackgroundProcessingThread(new FrontEndBackgroundProcessingThread.ServerComponentStateChangedHandler(FrontEndTransportService.instance.HandleServerComponentStateChanged))); sequentialTransportComponent2.TransportComponents.Add(Components.ResourceThrottlingComponent); Components.SetDatabaseComponents(sequentialTransportComponent); Components.SetRootComponent(sequentialTransportComponent2); }
// Token: 0x0600001A RID: 26 RVA: 0x00002B88 File Offset: 0x00000D88 private void ConstructComponentLoadTree() { TransportAppConfig.IsMemberOfResolverConfiguration transportIsMemberOfResolverConfig = Components.TransportAppConfig.TransportIsMemberOfResolverConfig; IsMemberOfResolverADAdapter <RoutingAddress> .RoutingAddressResolver adAdapter = new IsMemberOfResolverADAdapter <RoutingAddress> .RoutingAddressResolver(transportIsMemberOfResolverConfig.DisableDynamicGroups); Components.TransportIsMemberOfResolverComponent = new IsMemberOfResolverComponent <RoutingAddress>("Transport", transportIsMemberOfResolverConfig, adAdapter); Components.StoreDriverSubmission = MailboxTransportSubmissionService.storeDriverSubmission; Components.StoreDriverSubmission.Start(false, ServiceState.Active); Components.DsnGenerator = new DsnGenerator(); Components.AgentComponent = new AgentComponent(); Components.RoutingComponent = new RoutingComponent(); Components.EnhancedDns = new EnhancedDns(); Components.UnhealthyTargetFilterComponent = new UnhealthyTargetFilterComponent(); Components.ProxyHubSelectorComponent = new ProxyHubSelectorComponent(); Components.CertificateComponent = new CertificateComponent(); Components.Configuration = new ConfigurationComponent(ProcessTransportRole.MailboxSubmission); Components.MessageThrottlingComponent = new MessageThrottlingComponent(); Components.ResourceManagerComponent = new ResourceManagerComponent(ResourceManagerResources.PrivateBytes | ResourceManagerResources.TotalBytes); Components.SmtpInComponent = new SmtpInComponent(false); Components.SmtpOutConnectionHandler = new SmtpOutConnectionHandler(); Components.SystemCheckComponent = new SystemCheckComponent(); Components.TransportIsMemberOfResolverComponent = new IsMemberOfResolverComponent <RoutingAddress>("Transport", transportIsMemberOfResolverConfig, adAdapter); Components.TransportMailItemLoader item = new Components.TransportMailItemLoader(); Components.Logging = new Components.LoggingComponent(true, false, false, false, false, "MSGTRKMS"); StorageFactory.SchemaToUse = StorageFactory.Schema.NullSchema; Components.MessagingDatabase = new MessagingDatabaseComponent(); Components.PerfCountersLoader perfCountersLoader = new Components.PerfCountersLoader(false); Components.PerfCountersLoaderComponent = perfCountersLoader; Components.ResourceThrottlingComponent = new ResourceThrottlingComponent(new ResourceMeteringConfig(8000, null), new ResourceThrottlingConfig(null), new ComponentsWrapper(), Components.MessagingDatabase, null, Components.Configuration, ResourceManagerResources.PrivateBytes | ResourceManagerResources.TotalBytes, ResourceObservingComponents.EnhancedDns | ResourceObservingComponents.IsMemberOfResolver | ResourceObservingComponents.SmtpIn); ParallelTransportComponent parallelTransportComponent = new ParallelTransportComponent("Parallel Components"); parallelTransportComponent.TransportComponents.Add(item); parallelTransportComponent.TransportComponents.Add(Components.TransportIsMemberOfResolverComponent); parallelTransportComponent.TransportComponents.Add(perfCountersLoader); parallelTransportComponent.TransportComponents.Add(Components.Logging); parallelTransportComponent.TransportComponents.Add(new Components.MicrosoftExchangeRecipientLoader()); parallelTransportComponent.TransportComponents.Add(Components.DsnGenerator); parallelTransportComponent.TransportComponents.Add(Components.MessageThrottlingComponent); parallelTransportComponent.TransportComponents.Add(Components.StoreDriverSubmission); SequentialTransportComponent sequentialTransportComponent = new SequentialTransportComponent("Database and dependents"); sequentialTransportComponent.TransportComponents.Add(Components.ResourceManagerComponent); ParallelTransportComponent parallelTransportComponent2 = new ParallelTransportComponent("Configuration Certificate and Database components"); parallelTransportComponent2.TransportComponents.Add(sequentialTransportComponent); parallelTransportComponent2.TransportComponents.Add(Components.CertificateComponent); SequentialTransportComponent sequentialTransportComponent2 = new SequentialTransportComponent("Root Component"); sequentialTransportComponent2.TransportComponents.Add(MailboxTransportSubmissionService.quarantineHandler); sequentialTransportComponent2.TransportComponents.Add(MailboxTransportSubmissionService.submissionPoisonHandler); sequentialTransportComponent2.TransportComponents.Add((ITransportComponent)Components.Configuration); sequentialTransportComponent2.TransportComponents.Add(Components.SystemCheckComponent); sequentialTransportComponent2.TransportComponents.Add(parallelTransportComponent2); sequentialTransportComponent2.TransportComponents.Add(parallelTransportComponent); sequentialTransportComponent2.TransportComponents.Add(Components.RoutingComponent); sequentialTransportComponent2.TransportComponents.Add(Components.EnhancedDns); sequentialTransportComponent2.TransportComponents.Add(Components.UnhealthyTargetFilterComponent); sequentialTransportComponent2.TransportComponents.Add(Components.ProxyHubSelectorComponent); ParallelTransportComponent parallelTransportComponent3 = new ParallelTransportComponent("SmtpIn and SmtpOut"); parallelTransportComponent3.TransportComponents.Add(Components.SmtpInComponent); parallelTransportComponent3.TransportComponents.Add(Components.SmtpOutConnectionHandler); sequentialTransportComponent2.TransportComponents.Add(parallelTransportComponent3); sequentialTransportComponent2.TransportComponents.Add(Components.ResourceThrottlingComponent); Components.SetDatabaseComponents(sequentialTransportComponent); Components.SetRootComponent(sequentialTransportComponent2); }
private void ConstructComponentLoadTree() { TransportAppConfig.IsMemberOfResolverConfiguration transportIsMemberOfResolverConfig = Components.TransportAppConfig.TransportIsMemberOfResolverConfig; IsMemberOfResolverADAdapter <RoutingAddress> .RoutingAddressResolver adAdapter = new IsMemberOfResolverADAdapter <RoutingAddress> .RoutingAddressResolver(transportIsMemberOfResolverConfig.DisableDynamicGroups); TransportAppConfig.IsMemberOfResolverConfiguration mailboxRulesIsMemberOfResolverConfig = Components.TransportAppConfig.MailboxRulesIsMemberOfResolverConfig; IsMemberOfResolverADAdapter <string> .LegacyDNResolver adAdapter2 = new IsMemberOfResolverADAdapter <string> .LegacyDNResolver(mailboxRulesIsMemberOfResolverConfig.DisableDynamicGroups); Components.AgentComponent = new AgentComponent(); Components.RoutingComponent = new RoutingComponent(); Components.EnhancedDns = new EnhancedDns(); Components.DsnGenerator = new DsnGenerator(); Components.UnhealthyTargetFilterComponent = new UnhealthyTargetFilterComponent(); Components.TransportIsMemberOfResolverComponent = new IsMemberOfResolverComponent <RoutingAddress>("Transport", transportIsMemberOfResolverConfig, adAdapter); Components.MailboxRulesIsMemberOfResolverComponent = new IsMemberOfResolverComponent <string>("MailboxRules", mailboxRulesIsMemberOfResolverConfig, adAdapter2); Components.StoreDriverDelivery = StoreDriverDelivery.CreateStoreDriver(); Components.Categorizer = this.submitHandler; Components.CertificateComponent = new CertificateComponent(); Components.Configuration = new ConfigurationComponent(ProcessTransportRole.MailboxDelivery); Components.MessageThrottlingComponent = new MessageThrottlingComponent(); Components.ResourceManagerComponent = new ResourceManagerComponent(ResourceManagerResources.PrivateBytes | ResourceManagerResources.TotalBytes); Components.SmtpInComponent = new SmtpInComponent(this.IsModernSmtpStackEnabled()); Components.SmtpOutConnectionHandler = new SmtpOutConnectionHandler(); Components.SystemCheckComponent = new SystemCheckComponent(); Components.TransportMailItemLoader item = new Components.TransportMailItemLoader(); Components.ProxyHubSelectorComponent = new ProxyHubSelectorComponent(); Components.PoisonMessageComponent = new PoisonMessage(); Components.Logging = new Components.LoggingComponent(false, false, false, false, false); StorageFactory.SchemaToUse = StorageFactory.Schema.NullSchema; Components.MessagingDatabase = new MessagingDatabaseComponent(); Components.PerfCountersLoader perfCountersLoader = new Components.PerfCountersLoader(false); Components.PerfCountersLoaderComponent = perfCountersLoader; Components.ResourceThrottlingComponent = new ResourceThrottlingComponent(new ResourceMeteringConfig(8000, null), new ResourceThrottlingConfig(null), new ComponentsWrapper(), Components.MessagingDatabase, null, Components.Configuration, ResourceManagerResources.PrivateBytes | ResourceManagerResources.TotalBytes, ResourceObservingComponents.EnhancedDns | ResourceObservingComponents.IsMemberOfResolver | ResourceObservingComponents.SmtpIn); ParallelTransportComponent parallelTransportComponent = new ParallelTransportComponent("Parallel Group 1"); parallelTransportComponent.TransportComponents.Add(Components.ResourceManagerComponent); parallelTransportComponent.TransportComponents.Add(Components.CertificateComponent); parallelTransportComponent.TransportComponents.Add(Components.TransportIsMemberOfResolverComponent); parallelTransportComponent.TransportComponents.Add(Components.MailboxRulesIsMemberOfResolverComponent); ParallelTransportComponent parallelTransportComponent2 = new ParallelTransportComponent("Parallel Group 2"); parallelTransportComponent2.TransportComponents.Add(item); parallelTransportComponent2.TransportComponents.Add(new Components.MicrosoftExchangeRecipientLoader()); parallelTransportComponent2.TransportComponents.Add(perfCountersLoader); parallelTransportComponent2.TransportComponents.Add(Components.Logging); parallelTransportComponent2.TransportComponents.Add(Components.PoisonMessageComponent); parallelTransportComponent2.TransportComponents.Add(Components.MessageThrottlingComponent); parallelTransportComponent2.TransportComponents.Add(Components.StoreDriverDelivery); parallelTransportComponent2.TransportComponents.Add((ITransportComponent)Components.AgentComponent); ParallelTransportComponent parallelTransportComponent3 = new ParallelTransportComponent("Parallel Group 3"); parallelTransportComponent3.TransportComponents.Add(Components.SmtpInComponent); parallelTransportComponent3.TransportComponents.Add(Components.SmtpOutConnectionHandler); parallelTransportComponent3.TransportComponents.Add(Components.RoutingComponent); parallelTransportComponent3.TransportComponents.Add(Components.UnhealthyTargetFilterComponent); parallelTransportComponent3.TransportComponents.Add(Components.DsnGenerator); parallelTransportComponent3.TransportComponents.Add(DeliveryConfiguration.poisonHandler); Components.SetRootComponent(new SequentialTransportComponent("Root Component") { TransportComponents = { (ITransportComponent)Components.Configuration, Components.SystemCheckComponent, parallelTransportComponent, parallelTransportComponent2, parallelTransportComponent3, Components.ResourceThrottlingComponent, Components.ProxyHubSelectorComponent } }); }