// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddOptions(); var config = new LoadBalancerSettings(); Configuration.Bind("BalancerSettings", config); }
public static Props Props(IBatchLoader batchLoader, IBatchSender batchSender, LoadBalancerSettings loadBalancerSettings, IRawPacketBatchParserActorFactory rawPacketBatchParserActorFactory) => Akka.Actor.Props.Create( () => new OfflineLoadBalancerActor(batchLoader, batchSender, loadBalancerSettings, rawPacketBatchParserActorFactory));
public SimpleOnlineLoadBalancerActor(LoadBalancerSettings settings, IPcapLoader pcapLoader) { this._pcapLoader = pcapLoader; this._settings = settings; this.Become(this.WaitingForCaptureProcessingRequestsBehaviour); }
public async Task <IProcessingResult> OpenCaptureAsync(Uri uri) { IProcessingResult processingResult; var captureInfo = new CaptureInfo(uri); var settings = new LoadBalancerSettings(BaseConfig); var config = this.ClusterSettings.Config.WithFallback(BaseConfig); // var seedNodes = config.GetStringList("akka.cluster.seed-nodes"); using (var system = ActorSystem.Create("NTPAC-Cluster", config)) { var loadBalancerActor = this._onlineLoadBalancerActorFactory.Create(system, settings); var startProcessingRequest = new CaptureProcessingRequest { CaptureInfo = captureInfo }; processingResult = await loadBalancerActor.Ask <ProcessingResult>(startProcessingRequest).ConfigureAwait(false); await Akka.Cluster.Cluster.Get(system).LeaveAsync(); await system.Terminate(); } return(processingResult); }
public async Task <IProcessingResult> OpenCaptureAsync(Uri uri) { IProcessingResult processingResult; var captureInfo = new CaptureInfo(uri); var settings = new LoadBalancerSettings(BaseConfig); var config = this.ClusterSettings.Config.WithFallback(BaseConfig); var seedNodes = config.GetStringList("akka.cluster.seed-nodes"); using (var system = ActorSystem.Create("NTPAC-Cluster", config)) { var loadBalancerActor = this._onlineLoadBalancerActorFactory.Create(system, settings); var startProcessingRequest = new CaptureProcessingRequest { CaptureInfo = captureInfo }; processingResult = await loadBalancerActor.Ask <ProcessingResult>(startProcessingRequest).ConfigureAwait(false); await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false); await CoordinatedShutdown.Get(system).Run(CoordinatedShutdown.ClusterLeavingReason.Instance).ConfigureAwait(false); // Console.WriteLine("Pre-dispose delay"); await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false); } // Console.WriteLine("Post-dispose delay"); await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false); return(processingResult); }
public static IOptionsSnapshot <LoadBalancerSettings> GetRamdomBalancingAlgorithmSettings() { IOptionsSnapshot <LoadBalancerSettings> settings = Substitute.For <IOptionsSnapshot <LoadBalancerSettings> >(); var result = new LoadBalancerSettings { BalancingAlgorithm = "Random", Instances = GetInstances() }; settings.Value.Returns(result); return(settings); }
public OfflineLoadBalancerActor(IBatchLoader batchLoader, IBatchSender batchSender, LoadBalancerSettings loadBalancerSettings, IRawPacketBatchParserActorFactory rawPacketBatchParserActorFactory) { this._batchLoader = batchLoader; this._loadBalancerSettings = loadBalancerSettings; this._rawPacketBatchParserActorFactory = rawPacketBatchParserActorFactory; this._batchSender = batchSender; this.StartWith(OfflineLoadBalancerStates.WaitingForProcessingRequest, null); this.SetupFSMWhen(); this.SetupFSMTransitions(); this.SetupPeriodicalGarbageCollecting(); }
public static void Initialize() { AppSettingsReader reader = new AppSettingsReader(); LoadBalancerSettings settings = new LoadBalancerSettings(); settings.MonoscapeAccessKey = (string)reader.GetValue("MonoscapeAccessKey", typeof(string)); settings.MonoscapeSecretKey = (string)reader.GetValue("MonoscapeSecretKey", typeof(string)); settings.ApplicationGridServiceURL = (string)reader.GetValue("ApplicationGridServiceURL", typeof(string)); settings.DashboardServiceURL = (string)reader.GetValue("DashboardServiceURL", typeof(string)); settings.LoadBalancerWebServiceURL = (string)reader.GetValue("LoadBalancerWebServiceURL", typeof(string)); Settings.MonoscapeAccessKey = settings.MonoscapeAccessKey; Settings.MonoscapeSecretKey = settings.MonoscapeSecretKey; Settings.LbApplicationGridServiceURL = settings.ApplicationGridServiceURL; Settings.LbDashboardServiceURL = settings.DashboardServiceURL; Settings.LbLoadBalancerWebServiceURL = settings.LoadBalancerWebServiceURL; }
public OfflineLoadBalancerActorTests() { this._loadBalancerSettings = new LoadBalancerSettings(); this._rawPacketBatchActorTestProbe = this.CreateTestProbe("RawPacketBatch"); this._batchLoaderMock = new Mock <IBatchLoader>(); this._batchSenderMock = new Mock <IBatchSender>(); this._rawPacketBatchParserFactoryMock = new Mock <IRawPacketBatchParserActorFactory>(); this._rawPacketBatchParserFactoryMock .Setup(factory => factory.Create(It.IsAny <IActorContext>(), It.IsAny <IActorRef>(), It.IsAny <CaptureInfo>())) .Returns(this._rawPacketBatchActorTestProbe); this._offlineLoadBalancerActorRefSUT = this.Sys.ActorOf(Props.Create(() => new OfflineLoadBalancerActor(this._batchLoaderMock.Object, this._batchSenderMock.Object, this._loadBalancerSettings, this._rawPacketBatchParserFactoryMock.Object))); this._batchSenderMock.Setup(sender => sender.Complete()) .Callback(() => this._offlineLoadBalancerActorRefSUT.Tell(new CaptureTrackingCompleted())); }
protected OnlineLoadBalancerBenchmarkActorBase(LoadBalancerSettings settings, IPcapLoader pcapLoader) : base( settings, pcapLoader) { this.MaxNumberOfShards = 1; }
public new static Props Props(LoadBalancerSettings settings, IPcapLoader pcapLoader) => Akka.Actor.Props.Create(() => new OnlineLoadBalancerGroupedWithinTunnedActor(settings, pcapLoader));
public OnlineLoadBalancerGroupedWithinTunnedActor(LoadBalancerSettings settings, IPcapLoader pcapLoader) : base( settings, pcapLoader) { }
public OnlineLoadBalancerCompleteActor(LoadBalancerSettings settings, IPcapLoader pcapLoader) : base(settings, pcapLoader) { }
public OnlineLoadBalancerActor(LoadBalancerSettings settings, IPcapLoader pcapLoader) { this.PcapLoader = pcapLoader; this.Settings = settings; this.Become(this.WaitingForCaptureBehaviour); }
public static Props Props(LoadBalancerSettings settings, IPcapLoader pcapLoader) => Akka.Actor.Props.Create(() => new OnlineLoadBalancerActor(settings, pcapLoader));
public OnlineLoadBalancerOnlyPacketParseActor(LoadBalancerSettings settings, IPcapLoader pcapLoader) : base( settings, pcapLoader) { }