Table of Contents

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
IHystrixExecutable<RequestResponseType>
IHystrixObservable<RequestResponseType>
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>