RLPark 1.0.0
Reinforcement Learning Framework in Java

Message.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.experiments.scheduling.internal.messages;
00002 
00003 import java.io.BufferedOutputStream;
00004 import java.io.ByteArrayOutputStream;
00005 import java.io.DataOutputStream;
00006 import java.io.IOException;
00007 import java.io.OutputStream;
00008 
00009 import rlpark.plugin.rltoys.experiments.scheduling.internal.messages.Messages.MessageType;
00010 
00011 public class Message {
00012   protected MessageType type = MessageType.Error;
00013 
00014   protected Message(MessageType type) {
00015     this.type = type;
00016   }
00017 
00018   protected Message(Message message) {
00019     this.type = message.type();
00020   }
00021 
00022   public void write(OutputStream outputStream) throws IOException {
00023     ByteArrayOutputStream contentOut = new ByteArrayOutputStream();
00024     writeContentBuffer(contentOut);
00025     DataOutputStream socketOut = new DataOutputStream(new BufferedOutputStream(outputStream));
00026     socketOut.write(Messages.Header);
00027     socketOut.writeInt(Messages.HeaderSize + contentOut.size());
00028     socketOut.writeInt(type.ordinal());
00029     socketOut.write(contentOut.toByteArray());
00030     socketOut.flush();
00031   }
00032 
00033   @SuppressWarnings("unused")
00034   protected void writeContentBuffer(ByteArrayOutputStream out) throws IOException {
00035   }
00036 
00037   public MessageType type() {
00038     return type;
00039   }
00040 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark