package envoy.client.net; import java.util.function.Consumer; import java.util.logging.Logger; import envoy.data.Message.MessageStatus; import envoy.event.MessageStatusChange; import envoy.util.EnvoyLog; import dev.kske.eventbus.EventBus; /** * Project: envoy-client
* File: MessageStatusChangeProcessor.java
* Created: 4 Feb 2020
* * @author Kai S. K. Engelbart * @since Envoy Client v0.3-alpha */ public final class MessageStatusChangeProcessor implements Consumer { private static final Logger logger = EnvoyLog.getLogger(MessageStatusChangeProcessor.class); /** * Dispatches a {@link MessageStatusChange} if the status is * {@code RECEIVED} or {@code READ}. * * @param evt the status change event * @since Envoy Client v0.3-alpha */ @Override public void accept(MessageStatusChange evt) { if (evt.get().ordinal() < MessageStatus.RECEIVED.ordinal()) logger.warning("Received invalid message status change " + evt); else EventBus.getInstance().dispatch(evt); } }