UNPKG

vulcain-corejs

Version:
99 lines (98 loc) 3.08 kB
export declare enum EventType { SUCCESS = 0, SHORT_CIRCUITED = 1, SEMAPHORE_REJECTED = 2, TIMEOUT = 3, FAILURE = 4, FALLBACK_REJECTION = 5, FALLBACK_SUCCESS = 6, FALLBACK_FAILURE = 7, RESPONSE_FROM_CACHE = 8, } export declare enum FailureType { SHORTCIRCUIT = 0, REJECTED_SEMAPHORE_EXECUTION = 1, TIMEOUT = 2, COMMAND_EXCEPTION = 3, REJECTED_SEMAPHORE_FALLBACK = 4, } export declare class ExecutionResult { events: Array<EventType>; /** * Whether the response was returned successfully either by executing <code>run()</code> or from cache. * * @return bool */ readonly isSuccessfulExecution: boolean; /** * Whether the <code>run()</code> resulted in a failure (exception). * * @return bool */ readonly isFailedExecution: boolean; /** * Get the Throwable/Exception thrown that caused the failure. * <p> * If <code>IsFailedExecution { get == true</code> then this would represent the Exception thrown by the <code>run()</code> method. * <p> * If <code>IsFailedExecution { get == false</code> then this would return null. * * @return Throwable or null */ failedExecutionException: any; /** * Whether the response received from was the result of some type of failure * and <code>Fallback { get</code> being called. * * @return bool */ readonly isResponseFromFallback: boolean; /** * Whether the response received was the result of a timeout * and <code>Fallback { get</code> being called. * * @return bool */ readonly isResponseTimedOut: boolean; /** * Whether the response received was a fallback as result of being * short-circuited (meaning <code>IsCircuitBreakerOpen { get == true</code>) and <code>Fallback { get</code> being called. * * @return bool */ readonly isResponseShortCircuited: boolean; /** * Whether the response is from cache and <code>run()</code> was not invoked. * * @return bool */ readonly isResponseFromCache: boolean; /** * Whether the response received was a fallback as result of being * rejected (from thread-pool or semaphore) and <code>Fallback { get</code> being called. * * @return bool */ readonly isResponseRejected: boolean; /** * List of CommandEventType enums representing events that occurred during execution. * <p> * Examples of events are SUCCESS, FAILURE, TIMEOUT, and SHORT_CIRCUITED * * @return {@code List<EventType>} */ readonly executionEvents: EventType[]; /** * The execution time of this command instance in milliseconds, or -1 if not executed. * * @return int */ executionTime: number; /** * If this command has completed execution either successfully, via fallback or failure. * */ isExecutionComplete: boolean; addEvent(evt: EventType): void; protected eventExists(evt: EventType): boolean; }