view src/fdl/old/test/transfer/cluster/ProtocolEngineMain.java @ 114:3b877c9a44f5

gather old packages
author kazz
date Mon, 11 Oct 2010 14:29:37 +0900
parents src/fdl/test/transfer/cluster/ProtocolEngineMain.java@82a292aa41ad
children
line wrap: on
line source

package fdl.old.test.transfer.cluster;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.text.SimpleDateFormat;
import java.util.Date;

import fdl.FederatedLinda;
import fdl.PSXLinda;
import fdl.PSXReply;

public class ProtocolEngineMain {
	static int id = 10;
	static FederatedLinda fdl;
	static PSXLinda getpsx;
	static PSXLinda sendpsx;
	static int port = 10000;
	private static String getHost = null;
	private static String sendHost = null;
	
	public static void main(String[] args) {
		for (int i=0; i<args.length; ++i) {
			if("-get".equals(args[i])){
				getHost = args[++i];
			} else if("-send".equals(args[i])){
				sendHost = args[++i];
			} else {
	        System.err.println("引数指定の誤り:未知の引数が指定されました");
            }
		}
		fdl = FederatedLinda.init();
		try {
			getpsx = fdl.open(getHost,port);
			System.out.println("Connect Host1");
			sendpsx = fdl.open(sendHost,port);
			System.out.println("Connect Host2");
			// Host1にデータを送信する。
//			ByteBuffer send = ByteBuffer.allocate(10);
//			send.putInt(12);
//			send.flip();
//			getpsx.out(id , send);
//			fdl.sync(1);
//			System.out.println("Send Data");
			// psxにデータを用意
			boolean running = true;
			ByteBuffer data2 = ByteBuffer.allocate(10);
			PSXReply in = getpsx.in(id);
			while (running) {
				if(in.ready()){
					//psx1にデータを書き出し
					data2 = in.getData();
					sendpsx.out(id,data2);
					int i = data2.getInt();
					data2.rewind();
					System.out.println("transfer Data => "+i);
					//runningフラグをfalseする
					running = false;
					sendpsx.sync(1);
					System.out.println("Transfer Data");
					break;
				}
				SimpleDateFormat DF = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
				System.out.println(DF.format(new Date()));
				fdl.sync();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}