@dolittle/sdk.events.handling
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
39 lines • 2.74 kB
TypeScript
import { Logger } from 'winston';
import { IServiceProvider } from '@dolittle/sdk.dependencyinversion';
import { IEventTypes } from '@dolittle/sdk.events';
import { ExecutionContext } from '@dolittle/sdk.execution';
import { Internal } from '@dolittle/sdk.events.processing';
import { Cancellation } from '@dolittle/sdk.resilience';
import { IReverseCallClient } from '@dolittle/sdk.services';
import { EventHandlerRegistrationRequest, EventHandlerRegistrationResponse, HandleEventRequest, EventHandlerResponse } from '@dolittle/contracts/Runtime/Events.Processing/EventHandlers_pb';
import { Failure } from '@dolittle/contracts/Protobuf/Failure_pb';
import { EventHandlersClient } from '@dolittle/contracts/Runtime/Events.Processing/EventHandlers_grpc_pb';
import { RetryProcessingState, ProcessorFailure } from '@dolittle/contracts/Runtime/Events.Processing/Processors_pb';
import { EventHandlerId } from '../EventHandlerId';
import { IEventHandler } from '../IEventHandler';
/**
* Represents an implementation of {@link Internal.EventProcessor} for {@link EventHandler}.
*/
export declare class EventHandlerProcessor extends Internal.EventProcessor<EventHandlerId, EventHandlersClient, EventHandlerRegistrationRequest, EventHandlerRegistrationResponse, HandleEventRequest, EventHandlerResponse> {
private _handler;
private _eventTypes;
/**
* Initializes a new instance of {@link EventHandlerProcessor}.
* @param {IEventHandler} _handler - The actual handler.
* @param {IEventTypes} _eventTypes - Registered event types.
*/
constructor(_handler: IEventHandler, _eventTypes: IEventTypes);
/** @inheritdoc */
protected get registerArguments(): EventHandlerRegistrationRequest;
/** @inheritdoc */
protected createClient(client: EventHandlersClient, registerArguments: EventHandlerRegistrationRequest, callback: (request: HandleEventRequest, executionContext: ExecutionContext) => Promise<EventHandlerResponse>, executionContext: ExecutionContext, pingInterval: number, logger: Logger, cancellation: Cancellation): IReverseCallClient<EventHandlerRegistrationResponse>;
/** @inheritdoc */
protected getFailureFromRegisterResponse(response: EventHandlerRegistrationResponse): Failure | undefined;
/** @inheritdoc */
protected getRetryProcessingStateFromRequest(request: HandleEventRequest): RetryProcessingState | undefined;
/** @inheritdoc */
protected createResponseFromFailure(failure: ProcessorFailure): EventHandlerResponse;
/** @inheritdoc */
protected handle(request: HandleEventRequest, executionContext: ExecutionContext, services: IServiceProvider, logger: Logger): Promise<EventHandlerResponse>;
}
//# sourceMappingURL=EventHandlerProcessor.d.ts.map