Mercurial > hg > Database > Alice
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); + + } + } + + +}