diff src/alice/topology/manager/keeparive/ListManager.java @ 310:f1cd920ea913

recreate "PingScheduler" with CS and DS
author sugi
date Tue, 26 Nov 2013 16:46:26 +0900
parents src/alice/topology/manager/keeparive/WaitingList.java@797267843126
children 806cc010a5bd
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/topology/manager/keeparive/ListManager.java	Tue Nov 26 16:46:26 2013 +0900
@@ -0,0 +1,38 @@
+package alice.topology.manager.keeparive;
+
+import java.util.LinkedList;
+
+public class ListManager {
+	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.getSleepTime() - info.getSleepTime() must be Zero
+					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);
+			
+		}
+	}
+	
+	
+}