37 lines
1.0 KiB
Java
37 lines
1.0 KiB
Java
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: <strong>envoy-client</strong><br>
|
|
* File: <strong>ReceivedMessageProcessor.java</strong><br>
|
|
* Created: <strong>31.12.2019</strong><br>
|
|
*
|
|
* @author Kai S. K. Engelbart
|
|
* @since Envoy Client v0.3-alpha
|
|
*/
|
|
public class ReceivedMessageProcessor implements Consumer<Message> {
|
|
|
|
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));
|
|
}
|
|
}
|
|
}
|