ch.squaredesk.nova.events.EventBus Maven / Gradle / Ivy
/*
* Copyright (c) Squaredesk GmbH and Oliver Dotzauer.
*
* This program is distributed under the squaredesk open source license. See the LICENSE file
* distributed with this work for additional information regarding copyright ownership. You may also
* obtain a copy of the license at
*
* https://squaredesk.ch/license/oss/LICENSE
*/
package ch.squaredesk.nova.events;
import ch.squaredesk.nova.metrics.Metrics;
import io.reactivex.BackpressureStrategy;
import io.reactivex.Flowable;
import io.reactivex.subjects.PublishSubject;
import io.reactivex.subjects.Subject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Arrays;
import java.util.concurrent.ConcurrentHashMap;
import static java.util.Objects.requireNonNull;
public class EventBus {
private final Logger logger = LoggerFactory.getLogger(EventBus.class);
public final EventBusConfig eventBusConfig;
// metrics
private final EventMetricsCollector metricsCollector;
// the event specific subjects
private final ConcurrentHashMap
© 2015 - 2025 Weber Informatics LLC | Privacy Policy