package kademlia.message;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
/**
* A simple message used for testing the system; Default message constructed if the message type sent is not available
*
* @author Joshua Kissoon
* @created 20140217
*/
public class SimpleMessage implements Message
{
/* Message constants */
public static final byte CODE = 0x07;
private String content;
public SimpleMessage(String message)
{
this.content = message;
}
public SimpleMessage(DataInputStream in)
{
this.fromStream(in);
}
@Override
public byte code()
{
return CODE;
}
@Override
public void toStream(DataOutputStream out)
{
try
{
out.writeInt(this.content.length());
out.writeBytes(this.content);
}
catch (IOException e)
{
e.printStackTrace();
}
}
@Override
public final void fromStream(DataInputStream in)
{
try
{
byte[] buff = new byte[in.readInt()];
in.readFully(buff);
this.content = new String(buff);
}
catch (IOException e)
{
e.printStackTrace();
}
}
@Override
public String toString()
{
return this.content;
}
}