@citrineos/util
Version:
The OCPP util module which supplies helpful utilities like cache and queue connectors, etc.
48 lines (47 loc) • 1.8 kB
TypeScript
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>;
}