package envoy.client.net; import java.util.function.Consumer; import java.util.logging.Level; import java.util.logging.Logger; import envoy.client.event.MessageCreationEvent; import envoy.data.Message; import envoy.data.Message.MessageStatus; import envoy.event.EventBus; import envoy.util.EnvoyLog; /** * Project: envoy-client
* File: ReceivedMessageProcessor.java
* Created: 31.12.2019
* * @author Kai S. K. Engelbart * @since Envoy Client v0.3-alpha */ public class ReceivedMessageProcessor implements Consumer { private static final Logger logger = EnvoyLog.getLogger(ReceivedMessageProcessor.class); @Override public void accept(Message message) { if (message.getStatus() != MessageStatus.SENT) logger.log(Level.WARNING, "The message has the unexpected status " + message.getStatus()); else { // Update status to RECEIVED message.nextStatus(); // Dispatch event EventBus.getInstance().dispatch(new MessageCreationEvent(message)); } } }