transport.interface.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { Observable, Subject } from "rxjs";
  2. import { AdaptorTransmissionRole, ReceiverProfile, TransmitterProfile } from "./connector.interface";
  3. export interface FisAppActor {
  4. incomingMessageBus: Subject<any>
  5. outgoingMessageBus: Subject<any>
  6. send(message: any): Observable<any>
  7. emit(message: any): void
  8. emitStream(message: any): void
  9. subscribeMessages(messageFilter: any): Observable<any>
  10. }
  11. export interface MessageTransmissionManager {
  12. // what the hell is this here for
  13. }
  14. export interface MessageTransmissionBase extends FisAppActor {
  15. transmitterProfile: TransmitterProfile
  16. receiverProfile: ReceiverProfile
  17. msgRepositoryService: any
  18. transmissionRole: AdaptorTransmissionRole
  19. adaptorsArray: any[]
  20. transmissionService: any
  21. adapterService: any
  22. setTransmitter(transmitterProfile: TransmitterProfile): void
  23. setReceiver(receiverProfile: ReceiverProfile): Promise<any>
  24. }
  25. export interface MsgReceiver extends MessageTransmissionBase {
  26. }
  27. export interface MsgTransmitter extends MessageTransmissionBase {
  28. }
  29. export interface MsgRequestResponse extends MessageTransmissionBase, MsgReceiver {
  30. }
  31. export interface FisMessage {
  32. header: {
  33. messageID: string,
  34. messageName: `NotificationMessage` | `ResponseMessage` | `RequestMessage`
  35. },
  36. data: any
  37. }