All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.smallrye.reactive.messaging.providers.helpers.BroadcastHelper Maven / Gradle / Ivy

package io.smallrye.reactive.messaging.providers.helpers;

import org.eclipse.microprofile.reactive.messaging.Message;

import io.smallrye.mutiny.Multi;

public class BroadcastHelper {

    private BroadcastHelper() {
        // Avoid direct instantiation.
    }

    /**
     * 

* Wraps an existing {@code Publisher} for broadcasting. *

* * @param publisher The publisher to be wrapped * @param numberOfSubscriberBeforeConnecting Number of subscribers that must be present before broadcast occurs. * A value of 0 means any number of subscribers will trigger the broadcast. * @return The wrapped {@code Publisher} in a new {@code PublisherBuilder} */ public static Multi> broadcastPublisher(Multi> publisher, int numberOfSubscriberBeforeConnecting) { if (numberOfSubscriberBeforeConnecting != 0) { return publisher .broadcast().toAtLeast(numberOfSubscriberBeforeConnecting); } else { return publisher.broadcast().toAllSubscribers(); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy