public static IAgentDistribution <T> NewDistribution <T>(DistributionStrategy strategy) where T : AbstractAgent
 {
     return(strategy switch
     {
         DistributionStrategy.Uniform => new UniformAgentDistribution <T>(),
         _ => throw new StrategyNotImplementedException <DistributionStrategy>(strategy),
     });
Пример #2
0
        public void ShouldDistributeBySize(int size, int chunkSize, int[] expected)
        {
            // Act
            var distribution = DistributionStrategy.BySize(size, chunkSize);

            // Assert
            distribution.Should().BeEquivalentTo(expected);
        }
Пример #3
0
 /// <summary>
 /// Sets a distribution strategy for a given endpoint.
 /// </summary>
 /// <param name="config">Config object.</param>
 /// <param name="distributionStrategy">The instance of a distribution strategy.</param>
 public static void SetMessageDistributionStrategy(this RoutingSettings <MsmqTransport> config, DistributionStrategy distributionStrategy)
 {
     Guard.AgainstNull(nameof(config), config);
     Guard.AgainstNull(nameof(distributionStrategy), distributionStrategy);
     config.Settings.GetOrCreate <List <DistributionStrategy> >().Add(distributionStrategy);
 }
 /// <summary>
 /// Sets a distribution strategy for a given endpoint.
 /// </summary>
 /// <param name="config">Config object.</param>
 /// <param name="distributionStrategy">The instance of a distribution strategy.</param>
 public static void SetMessageDistributionStrategy(this RoutingSettings <MsmqTransport> config, DistributionStrategy distributionStrategy)
 {
     config.Settings.GetOrCreate <DistributionPolicy>().SetDistributionStrategy(distributionStrategy);
 }
 /// <summary>
 /// Sets a distribution strategy for a given endpoint.
 /// </summary>
 /// <param name="config">Config object.</param>
 /// <param name="distributionStrategy">The instance of a distribution strategy.</param>
 public static void SetMessageDistributionStrategy(this RoutingSettings<MsmqTransport> config, DistributionStrategy distributionStrategy)
 {
     config.Settings.GetOrCreate<DistributionPolicy>().SetDistributionStrategy(distributionStrategy);
 }
Пример #6
0
        /// <summary>
        /// Sets the distribution strategy for a given endpoint.
        /// </summary>
        /// <param name="distributionStrategy">Distribution strategy to be used.</param>
        public void SetDistributionStrategy(DistributionStrategy distributionStrategy)
        {
            Guard.AgainstNull(nameof(distributionStrategy), distributionStrategy);

            configuredStrategies[Tuple.Create(distributionStrategy.Endpoint, distributionStrategy.Scope)] = distributionStrategy;
        }
Пример #7
0
        /// <summary>
        /// Sets the distribution strategy for a given endpoint.
        /// </summary>
        /// <param name="distributionStrategy">Distribution strategy to be used.</param>
        public void SetDistributionStrategy(DistributionStrategy distributionStrategy)
        {
            Guard.AgainstNull(nameof(distributionStrategy), distributionStrategy);

            configuredStrategies[Tuple.Create(distributionStrategy.Endpoint, distributionStrategy.Scope)] = distributionStrategy;
        }