org.bidib.wizard.localhost.BidibDistributedMessagePublisher Maven / Gradle / Ivy
package org.bidib.wizard.localhost;
import java.util.List;
import org.bidib.jbidibc.messages.exception.ProtocolException;
import org.bidib.jbidibc.messages.message.BidibMessageInterface;
import org.bidib.wizard.api.model.NodeInterface;
public interface BidibDistributedMessagePublisher {
/**
* Publish the message as guest response notify message.
*
* @param event
* the origin event
* @param bidibMessage
* the original bidib message
* @param subscriptionDataList
* the subscription data list
* @throws ProtocolException
* thrown if create {@code GuestResponseNotifyMessage} failed
*/
void publishAsGuestResponseNotifyMessage(
final NodeInterface node, final BidibMessageInterface bidibMessage,
final List subscriptionDataList) throws ProtocolException;
/**
* Publish the message to the node with the provided nodeAddress.
*
* @param nodeSubscriptionData
* the node subscription data
* @param bidibMessage
* the message
*/
void publishMessage(final NodeSubscriptionData nodeSubscriptionData, final BidibMessageInterface bidibMessage);
}