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
событие?