Class PubSubSystem<AD, I, O>

Default implementation of a IPubSubSystem.

Type Parameters

Hierarchy

Implements

Constructors

Properties

_options: IPubSubOptions = ...

An observable which holds the incremental data change. this will be triggered, if the an emitter (publisher) changes its data. Contains only the last emitted data and the topic

// Describe the required Test:
let pubSubSystem = new PubSubSystemBase({
generateEmitterType: function () {
return new NopeEventEmitter() as INopeEventEmitter;
},
});


// Create a Publisher for the system:
let publisher: INopeEventEmitter = new NopeEventEmitter();

pubSubSystem.register(publisher, {
mode: "publish",
schema: {},
topic: "this/is/a/test",
});


pubSubSystem.onIncrementalDataChange.subscribe(console.log);
publisher.emit("Hello World!"); // Logs the following => {path: "this/is/a/test", data: "Hello World!"}

Author

M.Karkowski

Memberof

IPubSubSystem

publishers: IMapBasedMergeData<O, IPubSubEmitterOptions<AD>, O, string>

List containing all publishers.

Author

M.Karkowski

Memberof

IPubSubSystem

subscriptions: IMapBasedMergeData<O, IPubSubEmitterOptions<AD>, O, string>

List, containing all subscribers.

Author

M.Karkowski

Memberof

IPubSubSystem

Accessors

  • get emitters(): {
        publishers: {
            name: string;
            schema: INopeDescriptor;
        }[];
        subscribers: {
            name: string;
            schema: INopeDescriptor;
        }[];
    }
  • List all known Emitters in the System.

    Returns {
        publishers: {
            name: string;
            schema: INopeDescriptor;
        }[];
        subscribers: {
            name: string;
            schema: INopeDescriptor;
        }[];
    }

Methods

  • Unregisters all Emitters and removes all subscriptions of the "onIncrementalDataChange", "publishers" and "subscriptions"

    Author

    M.Karkowski

    Memberof

    PubSubSystemBase

    Returns void

  • Helper, to update the Matching. But, we are just considering

    Parameters

    • eventName: string
    • data: any
    • Optional options: AD

    Returns void

  • Function to register an Observable. Please define the Options, to decide whether the data of the observable should be published or subscribed.

    Author

    M.Karkowski

    Returns

    {O}

    Memberof

    IPubSubSystem

    Parameters

    Returns O

  • Internal Match-Making Algorithm. This allowes to Create a predefined List between Publishers and Subscribers. Thereby the Process is speed up, by utilizing this Look-Up-Table

    Author

    M.Karkowski

    Memberof

    PubSubSystemBase

    Returns void

Generated using TypeDoc