view src/main/java/suikwasha/distributedalgorithm/framework/Message.java @ 0:38a110b13db1

added SimpleDistributedAlgorithmFramework. added NaiveAlgorithm added ChangRobertsAlgorithm added PertersonAlgorithm
author suikwasha
date Fri, 19 Oct 2012 00:05:41 +0900
parents
children
line wrap: on
line source

package suikwasha.distributedalgorithm.framework;

import java.nio.ByteBuffer;

public class Message
{
	private final ByteBuffer message;
	private final MessageChain chain;
	
	public Message(ByteBuffer _message)
	{
		message = _message;
		chain = MessageChain.NIL_MESSAGECHAIN;
	}

	private Message(ByteBuffer _message,MessageChain _chain)
	{
		message = _message;
		chain = _chain;
	}
	
	public ByteBuffer getMessage()
	{
		return message.asReadOnlyBuffer();
	}
	
	public MessageChain getMessageChain()
	{
		return chain;
	}
	
	public long getSize()
	{
		return message.limit();
	}
	
	public Message newMessage(ByteBuffer _message)
	{
		MessageChain newChain = chain.add(this);
		return new Message(_message,newChain);
	}
}