12345678910111213141516171819202122232425262728293031323334 |
- import dotenv from 'dotenv';
- import { BehaviorSubject, distinctUntilChanged, filter, map, Observable, Subject } from 'rxjs';
- import { WrappedMessage } from '../utils/message.ordering';
- import ConsoleLogger from '../utils/log.utils';
- import { AdapterBase } from '../base/adapter.base';
- import { ClientObject, ConnectionState, FisMessage, TransportType, TransportMessage, TransportServiceInterface, TransmissionRole } from '../interface/interface';
- dotenv.config();
- export class TransmitterAdapter<T> extends AdapterBase<T> {
- constructor(clientId: string, adapterType: TransportType, transportService: TransportServiceInterface, role: TransmissionRole) {
- super(clientId, adapterType, transportService, role)
- this.console = new ConsoleLogger(`${this.adapterProfile.transportType}TransmitterAdapter`, ['adapter'])
- this.console.log({ message: `Contructing TransmitterAdapter for client: ${this.adapterProfile.clientId}` })
- }
- emit(selfId: string, message: WrappedMessage): void {
- // logic here
- // this.console.log({ message: `Emitting: ${(message.payload as FisMessage).header.messageID} to ${this.adapterProfile.clientId}` })
- this.console.log({ message: `Emitting: ${message.thisMessageID} to ${this.adapterProfile.clientId}` })
- this.adapterProfile.transportService.emit({
- id: this.adapterProfile.clientId,
- dateCreated: new Date(),
- transport: this.adapterProfile.transportType,
- target: this.adapterProfile.clientId,
- source: selfId,
- payload: message
- } as TransportMessage)
- }
- }
|