Class HystrixCollapser<BatchReturnType, RequestResponseType, RequestArgumentType>
- Namespace
- Steeltoe.CircuitBreaker.Hystrix
- Assembly
- Steeltoe.CircuitBreaker.HystrixBase.dll
public abstract class HystrixCollapser<BatchReturnType, RequestResponseType, RequestArgumentType> : HysrixCollapserBase, IHystrixExecutable<RequestResponseType>, IHystrixObservable<RequestResponseType>, IHystrixInvokable
Type Parameters
BatchReturnType
RequestResponseType
RequestArgumentType
- Inheritance
-
HystrixCollapser<BatchReturnType, RequestResponseType, RequestArgumentType>
- Implements
-
- Inherited Members
-
Constructors
HystrixCollapser()
protected HystrixCollapser()
HystrixCollapser(IHystrixCollapserKey)
protected HystrixCollapser(IHystrixCollapserKey collapserKey)
Parameters
collapserKey IHystrixCollapserKey
HystrixCollapser(IHystrixCollapserKey, RequestCollapserScope)
protected HystrixCollapser(IHystrixCollapserKey collapserKey, RequestCollapserScope scope)
Parameters
collapserKey IHystrixCollapserKey
scope RequestCollapserScope
HystrixCollapser(IHystrixCollapserKey, RequestCollapserScope, ICollapserTimer, IHystrixCollapserOptions)
protected HystrixCollapser(IHystrixCollapserKey collapserKey, RequestCollapserScope scope, ICollapserTimer timer, IHystrixCollapserOptions options)
Parameters
collapserKey IHystrixCollapserKey
scope RequestCollapserScope
timer ICollapserTimer
options IHystrixCollapserOptions
HystrixCollapser(IHystrixCollapserKey, RequestCollapserScope, ICollapserTimer, IHystrixCollapserOptions, HystrixCollapserMetrics)
protected HystrixCollapser(IHystrixCollapserKey collapserKey, RequestCollapserScope scope, ICollapserTimer timer, IHystrixCollapserOptions optionsDefault, HystrixCollapserMetrics metrics)
Parameters
collapserKey IHystrixCollapserKey
scope RequestCollapserScope
timer ICollapserTimer
optionsDefault IHystrixCollapserOptions
metrics HystrixCollapserMetrics
HystrixCollapser(IHystrixCollapserOptions)
protected HystrixCollapser(IHystrixCollapserOptions options)
Parameters
options IHystrixCollapserOptions
Fields
_token
protected CancellationToken _token
Field Value
- CancellationToken
Properties
CacheKey
protected virtual string CacheKey { get; }
Property Value
- string
CollapserKey
public virtual IHystrixCollapserKey CollapserKey { get; }
Property Value
- IHystrixCollapserKey
Metrics
public virtual HystrixCollapserMetrics Metrics { get; }
Property Value
- HystrixCollapserMetrics
RequestArgument
public abstract RequestArgumentType RequestArgument { get; }
Property Value
- RequestArgumentType
Scope
public virtual RequestCollapserScope Scope { get; }
Property Value
- RequestCollapserScope
Methods
AddCacheEntryIfAbsent(string, out HystrixCachedTask<RequestResponseType>)
protected bool AddCacheEntryIfAbsent(string cacheKey, out HystrixCachedTask<RequestResponseType> entry)
Parameters
cacheKey string
entry HystrixCachedTask<RequestResponseType>
Returns
- bool
CreateCommand(ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>)
protected abstract HystrixCommand<BatchReturnType> CreateCommand(ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>> requests)
Parameters
requests ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>
Returns
- HystrixCommand<BatchReturnType>
DecomposeException(Exception)
protected virtual Exception DecomposeException(Exception e)
Parameters
e Exception
Returns
- Exception
Execute()
public RequestResponseType Execute()
Returns
- RequestResponseType
ExecuteAsync()
public Task<RequestResponseType> ExecuteAsync()
Returns
- Task<RequestResponseType>
ExecuteAsync(CancellationToken)
public Task<RequestResponseType> ExecuteAsync(CancellationToken token)
Parameters
token CancellationToken
Returns
- Task<RequestResponseType>
MapResponseToRequests(BatchReturnType, ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>)
protected abstract void MapResponseToRequests(BatchReturnType batchResponse, ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>> requests)
Parameters
batchResponse BatchReturnType
requests ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>
Observe()
public IObservable<RequestResponseType> Observe()
Returns
- IObservable<RequestResponseType>
Observe(CancellationToken)
public IObservable<RequestResponseType> Observe(CancellationToken token)
Parameters
token CancellationToken
Returns
- IObservable<RequestResponseType>
ShardRequests(ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>)
protected virtual ICollection<ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>> ShardRequests(ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>> requests)
Parameters
requests ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>
Returns
- ICollection<ICollection<ICollapsedRequest<RequestResponseType, RequestArgumentType>>>
ToObservable()
public IObservable<RequestResponseType> ToObservable()
Returns
- IObservable<RequestResponseType>
ToTask()
public Task<RequestResponseType> ToTask()
Returns
- Task<RequestResponseType>