Exemple #1
0
 internal RequestCollapser(HystrixCollapser <BatchReturnType, RequestResponseType, RequestArgumentType> commandCollapser, IHystrixCollapserOptions properties, ICollapserTimer timer, HystrixConcurrencyStrategy concurrencyStrategy)
 {
     this.commandCollapser    = commandCollapser; // the command with implementation of abstract methods we need
     this.concurrencyStrategy = concurrencyStrategy;
     this.properties          = properties;
     this.timer  = timer;
     batch.Value = new RequestBatch <BatchReturnType, RequestResponseType, RequestArgumentType>(properties, commandCollapser, properties.MaxRequestsInBatch);
 }
 public RequestBatch(IHystrixCollapserOptions properties, HystrixCollapser <BatchReturnType, RequestResponseType, RequestArgumentType> commandCollapser, int maxBatchSize)
 {
     this.properties       = properties;
     this.commandCollapser = commandCollapser;
     this.maxBatchSize     = maxBatchSize;
 }
Exemple #3
0
        private RequestCollapser <BatchReturnType, ResponseType, RequestArgumentType> GetCollapserForGlobalScope <BatchReturnType, ResponseType, RequestArgumentType>(HystrixCollapser <BatchReturnType, ResponseType, RequestArgumentType> commandCollapser)
        {
            var result = globalScopedCollapsers.GetOrAddEx(CollapserKey.Name, (k) => new RequestCollapser <BatchReturnType, ResponseType, RequestArgumentType>(commandCollapser, Properties, timer, concurrencyStrategy));

            return((RequestCollapser <BatchReturnType, ResponseType, RequestArgumentType>)result);
        }
Exemple #4
0
 public RequestCollapser <BatchReturnType, ResponseType, RequestArgumentType> GetRequestCollapser <BatchReturnType, ResponseType, RequestArgumentType>(HystrixCollapser <BatchReturnType, ResponseType, RequestArgumentType> commandCollapser)
 {
     if (Scope == RequestCollapserScope.REQUEST)
     {
         return(GetCollapserForUserRequest(commandCollapser));
     }
     else if (Scope == RequestCollapserScope.GLOBAL)
     {
         return(GetCollapserForGlobalScope(commandCollapser));
     }
     else
     {
         // logger.warn("Invalid Scope: {}  Defaulting to REQUEST scope.", getScope());
         return(GetCollapserForUserRequest(commandCollapser));
     }
 }
Exemple #5
0
 public RequestCollapserRequestVariable(HystrixCollapser <BatchReturnType, ResponseType, RequestArgumentType> commandCollapser, IHystrixCollapserOptions properties, ICollapserTimer timer, HystrixConcurrencyStrategy concurrencyStrategy)
     : base(() => new RequestCollapser <BatchReturnType, ResponseType, RequestArgumentType>(commandCollapser, properties, timer, concurrencyStrategy), (collapser) => collapser.Shutdown())
 {
 }
Exemple #6
0
        private RequestCollapserRequestVariable <BatchReturnType, ResponseType, RequestArgumentType> GetRequestVariableForCommand <BatchReturnType, ResponseType, RequestArgumentType>(HystrixCollapser <BatchReturnType, ResponseType, RequestArgumentType> commandCollapser)
        {
            var result = requestScopedCollapsers.GetOrAddEx(commandCollapser.CollapserKey.Name, (k) => new RequestCollapserRequestVariable <BatchReturnType, ResponseType, RequestArgumentType>(commandCollapser, Properties, timer, concurrencyStrategy));

            return((RequestCollapserRequestVariable <BatchReturnType, ResponseType, RequestArgumentType>)result);
        }
Exemple #7
0
 private RequestCollapser <BatchReturnType, ResponseType, RequestArgumentType> GetCollapserForUserRequest <BatchReturnType, ResponseType, RequestArgumentType>(HystrixCollapser <BatchReturnType, ResponseType, RequestArgumentType> commandCollapser)
 {
     return(GetRequestVariableForCommand(commandCollapser).Value);
 }