annotate src/main/java/alice/topology/manager/keeparive/RespondPing.java @ 498:e5d2141af6c2 dispose

keep alive Scheduler has bug
author sugi
date Mon, 15 Dec 2014 19:16:20 +0900
parents 7d67bc538549
children a03d0a570963
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.topology.manager.keeparive;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import alice.codesegment.CodeSegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4 import alice.datasegment.CommandType;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5 import alice.datasegment.Receiver;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7 public class RespondPing extends CodeSegment{
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
8 private Receiver respond = ids.create(CommandType.TAKE);
491
7d67bc538549 bug fix
sugi
parents: 488
diff changeset
9 private long pingedTime = System.currentTimeMillis();
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
10
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
11 public RespondPing(String key) {
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
12 respond.setKey(key);
498
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
13 this.setPriority(10);
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
14 }
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
15
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
16 @Override
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
17 public void run() {
498
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
18 TaskExecuter exec = TaskExecuter.getInstance();
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
19 synchronized (exec){
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
20 RespondData d = respond.asClass(RespondData.class);
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
21 System.out.print("ping from "+d.from);
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
22 System.out.println(" Recieved time "+(d.time - pingedTime));
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
23
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
24 TaskInfo task = new TaskInfo(TaskType.CLOSE);
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
25 task.setInfo(d.from, null, 0);
498
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
26 if (!exec.compareAndSkip(task)){
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
27 System.out.println("falied RespondPing");
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
28 // case: remove task is still in the waiting queue.
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
29 ods.put("_REMOVETASK",task);
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
30 new RemoveTask();
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
31 }
498
e5d2141af6c2 keep alive Scheduler has bug
sugi
parents: 491
diff changeset
32 }
419
aefbe41fcf12 change tab to space
sugi
parents: 350
diff changeset
33 }
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
34 }