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>