view src/alice/codesegment/OutputDataSegment.java @ 60:a76e603c43a0

add ring relay size
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Thu, 09 Feb 2012 04:44:22 +0900
parents f9334781344a
children 3c5c567c47d7
line wrap: on
line source

package alice.codesegment;

import java.io.IOException;

import org.msgpack.MessagePack;
import org.msgpack.type.Value;
import org.msgpack.type.ValueFactory;

import alice.datasegment.DataSegment;

public class OutputDataSegment {
	
	CodeSegment cs;
	
	public OutputDataSegment(CodeSegment codeSegment) {
		this.cs = codeSegment;
	}

	public void put(String managerKey, String key, Value val) {
		DataSegment.get(managerKey).put(key, val, cs);
	}
	
	public void update(String managerKey, String key, Value val) {
		DataSegment.get(managerKey).update(key, val, cs);
	}
	
	public void put(String managerKey, String key, String val) {
		DataSegment.get(managerKey).put(key, ValueFactory.createRawValue(val), cs);
	}
	
	public void update(String managerKey, String key, String val) {
		DataSegment.get(managerKey).update(key, ValueFactory.createRawValue(val), cs);
	}

	public void put(String managerKey, String key, byte[] val) {
		DataSegment.get(managerKey).put(key, ValueFactory.createRawValue(val), cs);
	}
	
	public void update(String managerKey, String key, byte[] val) {
		DataSegment.get(managerKey).update(key, ValueFactory.createRawValue(val), cs);
	}
	
	public void put(String managerKey, String key, int val) {
		DataSegment.get(managerKey).put(key, ValueFactory.createIntegerValue(val), cs);
	}
	
	public void update(String managerKey, String key, int val) {
		DataSegment.get(managerKey).update(key, ValueFactory.createIntegerValue(val), cs);
	}
	
	public <T> void put(String managerKey, String key, T val) {
		MessagePack msgpack = new MessagePack();
		try {
			DataSegment.get(managerKey).put(key, msgpack.unconvert(val), cs);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public <T> void update(String managerKey, String key, T val) {
		MessagePack msgpack = new MessagePack();
		try {
			DataSegment.get(managerKey).update(key, msgpack.unconvert(val), cs);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void finish(String managerKey) {
		DataSegment.get(managerKey).finish();
	}

	public void close(String managerKey) {
		DataSegment.get(managerKey).close();
	}

}