Skip to content
This repository was archived by the owner on Feb 16, 2024. It is now read-only.

Allow AsyncMessageBroker to recieve data from subscribers ? #456

Open
@superkerokero

Description

@superkerokero

AsyncMessageBroker seems to be useful in cases where one may need to collect some data from subscribers.

Currently, you can await all subscribers to finish their jobs, then do something like this:

  • Publisher
await AsyncMessageBroker.Default.PublishAsync<TestMessage>(new TestMessage());
// Do something after
  • Subscriber
AsyncMessageBroker.Default.Subscribe<TestMessage>(_ =>
{
    return Observable.TimerFrame(10).AsUnitObservable();
}).AddTo(this);

But what I want to do is something like this:

  • Publisher
TestPayload[] payloads = await AsyncMessageBroker.Default.PublishAsync<TestPayload, TestMessage>(new TestMessage());
// Do something with awaited payloads
Debug.Log(payloads[0].Value);
  • Subscriber
AsyncMessageBroker.Default.Subscribe<TestMessage, TestPayload>(_ =>
{
    return Observable.TimerFrame(10).Select(_ => new TestPayload(Value=1000));
}).AddTo(this);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions