Java Flow.Subscriber - Как мне получить издателя onComplete?

Я создаю пользовательскую систему событий, используя JDK 9 Flow API, поэтому у меня есть комната (которая расширяет UserSubscriver класс выше), он может иметь много пользователей, и каждый пользователь может предлагать (рассылать) обновления в любое время.

public abstract class UserSubscriver implements Flow.Subscriber<Notification> {
    private Flow.Subscription subscription;

    @Override
    public void onSubscribe(final Flow.Subscription subscription) {
        this.subscription = subscription;
        subscription.request(1);
    }

    @Override
    public void onError(final Throwable throwable) {
        // ...
    }

    @Override
    public void onNext(final Notification notification) {
        // ...
        subscription.request(1);
    }

    @Override
    public void onComplete() {
        // How can I know who was the publisher of this?
    }
}

Класс пользователя:

public class User extends SubmissionPublisher<Notification> {

    ....

    public int offer(Notification item) {
        return super.offer(item, (sub, msg) -> false);
    }
}

На onUpdate Я могу получить любые аргументы, чтобы я мог получить издателя обновления, но нет никаких аргументов на onComplete,

Как я могу узнать, кто был издателем onComplete событие?

0 ответов

Другие вопросы по тегам