Example #1
0
 private RaftHttpCluster(RaftClusterMemberConfiguration config, out MutableMemberCollection members)
     : base(config, out members)
 {
     OpenConnectionForEachRequest = config.OpenConnectionForEachRequest;
     allowedNetworks     = config.AllowedNetworks;
     metadata            = new MemberMetadata(config.Metadata);
     RequestTimeout      = TimeSpan.FromMilliseconds(config.UpperElectionTimeout);
     duplicationDetector = new DuplicateRequestDetector(config.RequestJournal);
     clientHandlerName   = config.ClientHandlerName;
 }
Example #2
0
 private protected RaftHttpCluster(IServiceProvider dependencies, out MutableMemberCollection members)
     : this(dependencies.GetRequiredService <IOptionsMonitor <RaftClusterMemberConfiguration> >(), dependencies, out members)
 {
 }
Example #3
0
        private RaftHttpCluster(IOptionsMonitor <RaftClusterMemberConfiguration> config, IServiceProvider dependencies, out MutableMemberCollection members)
            : this(config.CurrentValue, out members)
        {
            configurator       = dependencies.GetService <IRaftClusterConfigurator>();
            messageHandler     = dependencies.GetService <IMessageHandler>();
            AuditTrail         = dependencies.GetService <IPersistentState>();
            hostingAddresses   = dependencies.GetRequiredService <IServer>().GetHostingAddresses;
            httpHandlerFactory = dependencies.GetService <IHttpMessageHandlerFactory>();
            var loggerFactory = dependencies.GetRequiredService <ILoggerFactory>();

            Logger = loggerFactory.CreateLogger(GetType());
            //track changes in configuration
            configurationTracker = config.OnChange(ConfigurationChanged);
        }