annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
304
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
1 package alice.topology.manager.keeparive;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
2
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
3 import java.util.LinkedList;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
4
310
f1cd920ea913 recreate "PingScheduler" with CS and DS
sugi
parents: 309
diff changeset
5 public class ListManager {
304
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
6 private LinkedList<TaskInfo> list = new LinkedList<TaskInfo>();
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
7
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
8 public LinkedList<TaskInfo> getTaskList(){
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
9 return list;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
10 }
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
11
306
098e97954c08 add comment
sugi
parents: 304
diff changeset
12 public void addTask(TaskInfo newInfo){
304
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
13 if (list.isEmpty()) {
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
14 list.add(newInfo);
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
15 } else {
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
16 int cnt = 0;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
17 for (TaskInfo info : list){
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
18 if (info.getSleepTime() < newInfo.getSleepTime()){
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
19 newInfo.setSleepTime(newInfo.getSleepTime() - info.getSleepTime());
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
20 } else if (info.getSleepTime() == newInfo.getSleepTime()){
310
f1cd920ea913 recreate "PingScheduler" with CS and DS
sugi
parents: 309
diff changeset
21 // newInfo.getSleepTime() - info.getSleepTime() must be Zero
304
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
22 newInfo.setSleepTime(newInfo.getSleepTime() - info.getSleepTime());
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
23 cnt++;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
24 break;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
25 } else if (info.getSleepTime() > newInfo.getSleepTime()){
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
26 info.setSleepTime(info.getSleepTime() - newInfo.getSleepTime());
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
27 break;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
28 }
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
29 cnt++;
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
30 }
309
797267843126 Refactor
sugi
parents: 306
diff changeset
31
304
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
32 list.add(cnt, newInfo);
309
797267843126 Refactor
sugi
parents: 306
diff changeset
33
304
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
34 }
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
35 }
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
36
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
37
366742c2b07d divide list from Scheduler
sugi
parents:
diff changeset
38 }