view src/alice/topology/manager/keeparive/WaitingList.java @ 309:797267843126

Refactor
author sugi
date Tue, 26 Nov 2013 15:33:29 +0900
parents src/alice/topology/manager/keeparive/PingSchedList.java@098e97954c08
children
line wrap: on
line source

package alice.topology.manager.keeparive;

import java.util.LinkedList;

public class WaitingList {
	private LinkedList<TaskInfo> list = new LinkedList<TaskInfo>();
	
	public LinkedList<TaskInfo> getTaskList(){
		return list;
	}
		
	public void addTask(TaskInfo newInfo){
		if (list.isEmpty()) {
			list.add(newInfo);
		} else {
			int cnt = 0;
			for (TaskInfo info : list){
				if (info.getSleepTime() < newInfo.getSleepTime()){
					newInfo.setSleepTime(newInfo.getSleepTime() - info.getSleepTime());	
				} else if (info.getSleepTime() == newInfo.getSleepTime()){
					newInfo.setSleepTime(newInfo.getSleepTime() - info.getSleepTime());
					cnt++;
					break;
				} else if (info.getSleepTime() > newInfo.getSleepTime()){
					info.setSleepTime(info.getSleepTime() - newInfo.getSleepTime());
					break;
				}
				cnt++;
			}
			
			list.add(cnt, newInfo);
			
		}
	}
	
	
}