Пример #1
0
        /// <summary>
        /// Constructs my default state from the <paramref name="configuration"/>
        /// </summary>
        /// <param name="configuration">The <code>Configuration</code>.</param>
        /// <param name="type">The <code>ClientConsumerType</code>.</param>
        /// <param name="poolSize">The size of the pool of workers.</param>
        public Client(Configuration configuration, ClientConsumerType type, int poolSize)
        {
            _configuration = configuration;

            Type clientConsumerType;
            IEnumerable <object> parameters;

            switch (type)
            {
            case ClientConsumerType.Correlating:
                clientConsumerType = typeof(ClientCorrelatingRequesterConsumerActor);
                parameters         = Definition.Parameters(configuration);
                break;

            case ClientConsumerType.RoundRobin:
                clientConsumerType = typeof(RoundRobinClientRequestConsumerActor);
                var rrDefinition = Definition.Has <ClientConsumerWorkerActor>(Definition.Parameters(configuration));
                var rrSpec       = new RouterSpecification <IClientConsumer>(poolSize, rrDefinition);
                parameters = Definition.Parameters(configuration, rrSpec);
                break;

            case ClientConsumerType.LoadBalancing:
                clientConsumerType = typeof(LoadBalancingClientRequestConsumerActor);
                var lbDefinition = Definition.Has <ClientConsumerWorkerActor>(Definition.Parameters(configuration));
                var lbSpec       = new RouterSpecification <IClientConsumer>(poolSize, lbDefinition);
                parameters = Definition.Parameters(configuration, lbSpec);
                break;

            default:
                throw new ArgumentException($"ClientConsumerType is not mapped: {type}");
            }

            _consumer = configuration.Stage.ActorFor <IClientConsumer>(Definition.Has(clientConsumerType, parameters));
        }
Пример #2
0
 public void Setup()
 {
     clientConsumer = A.Fake<IClientConsumer>();
     tokenService = A.Fake<ITokenStorageService>();
     httpRequestReader = A.Fake<IHttpRequestReader>();
     client = new OAuthClient(clientConsumer, tokenService, httpRequestReader);
 }
Пример #3
0
 public OAuthClient(IClientConsumer consumer, ITokenStorageService tokenService, IHttpRequestReader httpRequestReader)
 {
     this.consumer = consumer;
     this.tokenService = tokenService;
     this.httpRequestReader = httpRequestReader;
 }