Skip to content
On this page

Controller ​

The Controller is highly broker-specific. It is serves as a mediator and controller between endpoints and consumers.

Internal Controller Architecture ​

Internally the controller is represented by Controller, XXX, XXX, and their broker-specific implementations.

📦 @ts-messaging/common ​

Controller ​

Internally, the controller is defined by the Controller interface. It contains a reference to its consumer and a handleMessage method that is invoked by the consumer when a message is received.

ts
export interface Controller {
    readonly consumer: Consumer;
    handleMessage(message: Message): Promise<{
        invocations: number;
    }>;
}

ControllerFactory ​

The ControllerFactory is used by the Client to create a Controller from an annotated class. The ControllerFactory is broker-specific and is implemented by each client package.

ts
export interface ControllerFactory {
    produce(controllerConstructor: Constructor): Promise<Controller>;
}

Released under the MIT License.