comparison src/alice/topology/manager/keeparive/CreateSchedule.java @ 314:f1f0638861ab

ping responce receivable
author sugi
date Fri, 06 Dec 2013 11:42:51 +0900
parents 6e0a3c680b82
children 9e84deb9b1e0
comparison
equal deleted inserted replaced
313:4b99234c88d4 314:f1f0638861ab
18 @Override 18 @Override
19 public void run() { 19 public void run() {
20 ListManager manager = info1.asClass(ListManager.class); 20 ListManager manager = info1.asClass(ListManager.class);
21 TaskInfo newTask = info2.asClass(TaskInfo.class); 21 TaskInfo newTask = info2.asClass(TaskInfo.class);
22 SendPing ps = SendPing.getInstance(); 22 SendPing ps = SendPing.getInstance();
23 TaskInfo nowTask = ps.getNowTask();
24 LinkedList<TaskInfo> list = manager.getTaskList(); 23 LinkedList<TaskInfo> list = manager.getTaskList();
25 if (nowTask.getManagerKey().equals(newTask.getManagerKey())){ 24 if (ps.getNowTask()!=null&&ps.getNowTask().getManagerKey().equals(newTask.getManagerKey())){
26 long postponeTime = nowTask.getSleepTime() - (System.currentTimeMillis() - ps.getTime()); 25 long postponeTime = ps.getNowTask().getSleepTime() - (System.currentTimeMillis() - ps.getTime());
27 TaskInfo nextTask = list.getFirst(); 26 TaskInfo nextTask = list.getFirst();
28 nextTask.setSleepTime(postponeTime + nextTask.getSleepTime()); 27 nextTask.setSleepTime(postponeTime + nextTask.getSleepTime());
29 manager.addTask(newTask); 28 manager.addTask(newTask);
30 ps.interrupt(); 29 ps.interrupt();
31 } else { 30 } else {
34 list.remove(info); 33 list.remove(info);
35 } 34 }
36 } 35 }
37 manager.addTask(newTask); 36 manager.addTask(newTask);
38 } 37 }
39 ods.update("_SCHEDLIST", manager); 38 ods.update("_WAITINGLIST", manager);
40 new CheckExistTask(); 39 new CheckExistTask();
41 } 40 }
42 } 41 }