⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventgen4bt.java

📁 p2p仿真
💻 JAVA
字号:
/*
 * @(#)EventGen4BT.java	ver 1.0  7/20/2005
 *
 * Copyright 2005 Weishuai Yang (wyang@cs.binghamton.edu). 
 * All rights reserved.
 * 
 */


package gps.toolbox;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Random;


/**
 * generates events configuration file for BT simulation
 * @author  Weishuai Yang
 * @version 1.0,  7/20/2005
 */
public class EventGen4BT {
		

	/**
	 * dummy constructor
	 */
	public EventGen4BT() {
		
	}	
	
	/**
	 * generate events distribution configuration file
	 *
	 * @param eventnum total document number
	 * @param interval time interval between events(seconds)
	 * @param pnum number of peer agents
	 * @param poffset offset of peer agents, i.e. the first agent id of peer node
	 * @param seed random seed
	 * @param f output file

	 */
	public static void gen(int eventnum, double interval, int pnum, int poffset, int seed, String f){
	    String header1="#Generated by gps.toolbox.EventGen4BT, columns seperated by ','";
	    String header2="#event number:"+eventnum+" event interval:"+interval+" peer number:"+pnum+" peerid offset:"+poffset+" seed:"+ seed;
		String header3="#at time(sec), peer id,  tracker id, action ";
		String header4="#Note: peer id continues tracker id which starts from 0";
		
		Random r=new Random(seed);
	    try
	    {
			BufferedWriter output= new BufferedWriter(new FileWriter(f));

			output.write(header1, 0, header1.length());
			output.newLine();
			output.write(header2, 0, header2.length());
			output.newLine();
			output.write(header3, 0, header3.length());
			output.newLine();
			output.write(header4, 0, header4.length());
			output.newLine();
			output.newLine();
			
			for(int i=0; i<eventnum;i++){
				StringBuffer buf=new StringBuffer();
				buf.append(i*interval);
				buf.append(',');
				buf.append(r.nextInt(pnum)+poffset);
				buf.append(',');
				buf.append(r.nextInt(poffset));
				buf.append(',');
				buf.append('R');
				String s=buf.toString();
				output.write(s, 0, s.length());
				output.newLine();
			}
			output.close();
	    }

	    catch (Exception e){
	    	e.printStackTrace();
	    }

		
	}
	/**
	 * main entrance
	 * @param args command line parameters
	 */
	public static void main(String[] args) {

	    //EventGen4BT.gen(10, 50, 20, 1, 12345, "config/events.txt");
	    EventGen4BT.gen(Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4]), args[5]);

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -