# HG changeset patch # User sugi # Date 1385457618 -32400 # Node ID 6e0a3c680b82971236f473234fc1aa9ddf892e36 # Parent 4b38039e4454adafdd07273e5b56b862f235dac7 Rename diff -r 4b38039e4454 -r 6e0a3c680b82 .settings/org.eclipse.core.resources.prefs --- a/.settings/org.eclipse.core.resources.prefs Tue Nov 26 17:40:00 2013 +0900 +++ b/.settings/org.eclipse.core.resources.prefs Tue Nov 26 18:20:18 2013 +0900 @@ -4,4 +4,4 @@ encoding//src/alice/test/codesegment/local/wordcount/WordCount.java=UTF-8 encoding//src/alice/topology/manager/IncomingHosts.java=UTF-8 encoding//src/alice/topology/manager/createABSIPList.java=UTF-8 -encoding//src/alice/topology/manager/keeparive/PingScheduler.java=UTF-8 +encoding//src/alice/topology/manager/keeparive/SendPing.java=UTF-8 diff -r 4b38039e4454 -r 6e0a3c680b82 src/alice/topology/manager/keeparive/CreateSchedule.java --- a/src/alice/topology/manager/keeparive/CreateSchedule.java Tue Nov 26 17:40:00 2013 +0900 +++ b/src/alice/topology/manager/keeparive/CreateSchedule.java Tue Nov 26 18:20:18 2013 +0900 @@ -19,7 +19,7 @@ public void run() { ListManager manager = info1.asClass(ListManager.class); TaskInfo newTask = info2.asClass(TaskInfo.class); - PingScheduler ps = PingScheduler.getInstance(); + SendPing ps = SendPing.getInstance(); TaskInfo nowTask = ps.getNowTask(); LinkedList list = manager.getTaskList(); if (nowTask.getManagerKey().equals(newTask.getManagerKey())){ diff -r 4b38039e4454 -r 6e0a3c680b82 src/alice/topology/manager/keeparive/PingScheduler.java --- a/src/alice/topology/manager/keeparive/PingScheduler.java Tue Nov 26 17:40:00 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -package alice.topology.manager.keeparive; - -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class PingScheduler extends CodeSegment{ - private Receiver info = ids.create(CommandType.TAKE); - private TaskInfo nowTask; - private boolean interruptFlag = false; - private long time = 0; - - static class SingletonHolder { - private static PingScheduler Instance = new PingScheduler(); - } - public static PingScheduler getInstance(){ - return SingletonHolder.Instance; - } - public void setKey(){ - info.setKey("_WAITINGLIST"); - } - - @Override - public synchronized void run() { - ListManager list = info.asClass(ListManager.class); - try { - nowTask = list.getTaskList().pollFirst(); - ods.update("_WAITINGLIST", list); - time = System.currentTimeMillis(); - if (nowTask.getSleepTime()!=0) - this.wait(nowTask.getSleepTime()); - if (interruptFlag){ - interruptFlag = false; - } else { - ods.ping(nowTask.getManagerKey(), nowTask.getReturnKey()); - } - } catch (InterruptedException e) { - } - PingScheduler.getInstance().setKey(); - } - public synchronized void interrupt(){ - interruptFlag = true; - notify(); - } - - public TaskInfo getNowTask() { - return nowTask; - } - - public long getTime(){ - return time; - } -} - diff -r 4b38039e4454 -r 6e0a3c680b82 src/alice/topology/manager/keeparive/SendPing.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/topology/manager/keeparive/SendPing.java Tue Nov 26 18:20:18 2013 +0900 @@ -0,0 +1,54 @@ +package alice.topology.manager.keeparive; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class SendPing extends CodeSegment{ + private Receiver info = ids.create(CommandType.TAKE); + private TaskInfo nowTask; + private boolean interruptFlag = false; + private long time = 0; + + static class SingletonHolder { + private static SendPing Instance = new SendPing(); + } + public static SendPing getInstance(){ + return SingletonHolder.Instance; + } + public void setKey(){ + info.setKey("_WAITINGLIST"); + } + + @Override + public synchronized void run() { + ListManager list = info.asClass(ListManager.class); + try { + nowTask = list.getTaskList().pollFirst(); + ods.update("_WAITINGLIST", list); + time = System.currentTimeMillis(); + if (nowTask.getSleepTime()!=0) + this.wait(nowTask.getSleepTime()); + if (interruptFlag){ + interruptFlag = false; + } else { + ods.ping(nowTask.getManagerKey(), nowTask.getReturnKey()); + } + } catch (InterruptedException e) { + } + SendPing.getInstance().setKey(); + } + public synchronized void interrupt(){ + interruptFlag = true; + notify(); + } + + public TaskInfo getNowTask() { + return nowTask; + } + + public long getTime(){ + return time; + } +} +