// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.net; import engine.job.AbstractJob; import engine.net.client.msg.ClientNetMsg; import org.pmw.tinylog.Logger; public class CheckNetMsgFactoryJob extends AbstractJob { private final AbstractConnection conn; public CheckNetMsgFactoryJob(AbstractConnection conn) { super(); this.conn = conn; } @Override protected void doJob() { NetMsgFactory factory = conn.getFactory(); // Make any/all msg possible factory.parseBuffer(); // get and route. AbstractNetMsg msg = factory.getMsg(); while (msg != null) { // Conditionally check to see if origin is set. if (msg.getOrigin() == null) { Logger.warn(msg.getClass().getSimpleName() + " had a NULL for its 'origin'."); msg.setOrigin(this.conn); } if (msg instanceof engine.net.client.msg.ClientNetMsg) { Protocol.handleClientMsg((ClientNetMsg) msg); } else { Logger.error("Unrouteable message of type '" + msg.getClass().getSimpleName() + '\''); } msg = factory.getMsg(); } } }