UNPKG

@citrineos/util

Version:

The OCPP util module which supplies helpful utilities like cache and queue connectors, etc.

48 lines (47 loc) 1.8 kB
import { AbstractMessageSender, IMessage, IMessageConfirmation, IMessageSender, MessageState, OcppError, OcppRequest, OcppResponse, SystemConfig } from '@citrineos/base'; import { ILogObj, Logger } from 'tslog'; /** * Implementation of a {@link IMessageSender} using Kafka as the underlying transport. */ export declare class KafkaSender extends AbstractMessageSender implements IMessageSender { /** * Fields */ private _client; private _topicName; private _producers; /** * Constructor * * @param topicPrefix Custom topic prefix, defaults to "ocpp" */ constructor(config: SystemConfig, logger?: Logger<ILogObj>); /** * Convenience method to send a request message. * * @param message The {@link IMessage} to send * @param payload The payload to send * @returns */ sendRequest(message: IMessage<OcppRequest>, payload?: OcppRequest): Promise<IMessageConfirmation>; /** * Convenience method to send a confirmation message. * @param message The {@link IMessage} to send * @param payload The payload to send * @returns */ sendResponse(message: IMessage<OcppResponse | OcppError>, payload?: OcppResponse | OcppError): Promise<IMessageConfirmation>; /** * Publishes the given message to kafka. * * @param message The {@link IMessage} to publish * @param payload The payload to within the {@link IMessage} * @param state The {@link MessageState} of the {@link IMessage} * @returns */ send(message: IMessage<OcppRequest | OcppResponse | OcppError>, payload?: OcppRequest | OcppResponse | OcppError, state?: MessageState): Promise<IMessageConfirmation>; /** * Interface implementation */ shutdown(): Promise<void>; }