RLPark 1.0.0
Reinforcement Learning Framework in Java

Messages.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.experiments.scheduling.internal.messages;
00002 
00003 import java.io.EOFException;
00004 import java.io.IOException;
00005 import java.net.SocketException;
00006 
00007 
00008 public class Messages {
00009   static private boolean verbose = true;
00010   static private boolean debug = false;
00011   static byte[] Header = new byte[] { 'D', 'o', 'c' };
00012   static int HeaderSize = Header.length + Integer.SIZE / Byte.SIZE + Integer.SIZE / Byte.SIZE;
00013 
00014   public enum MessageType {
00015     Error, RequestJob, Job, RequestClass, ClassData, SendClientName
00016   }
00017 
00018   public static Message cast(MessageBinary message, ClassLoader classLoader) {
00019     if (message == null)
00020       return null;
00021     try {
00022       switch (message.type()) {
00023       case Error:
00024         return null;
00025       case RequestJob:
00026         return new MessageRequestJob(message);
00027       case Job:
00028         return new MessageJob(message, classLoader);
00029       case RequestClass:
00030         return new MessageRequestClass(message);
00031       case ClassData:
00032         return new MessageClassData(message);
00033       case SendClientName:
00034         return new MessageSendClientInfo(message);
00035       }
00036     } catch (IOException e) {
00037       displayError(e);
00038       return null;
00039     }
00040     return message;
00041   }
00042 
00043   static public void disableVerbose() {
00044     verbose = false;
00045   }
00046 
00047   static public void enableDebug() {
00048     debug = true;
00049   }
00050 
00051   static public void displayError(Throwable throwable) {
00052     Class<?>[] classIgnored = new Class<?>[] { EOFException.class, SocketException.class };
00053     boolean ignored = false;
00054     for (Class<?> classType : classIgnored)
00055       if (classType.isInstance(throwable)) {
00056         ignored = true;
00057         break;
00058       }
00059     if (debug || !ignored)
00060       throwable.printStackTrace();
00061   }
00062 
00063   public static void println(String message) {
00064     if (verbose)
00065       System.out.println(message);
00066   }
00067 
00068   public static void debug(String message) {
00069     if (debug)
00070       System.out.println(message);
00071   }
00072 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark