Search in sources :

Example 1 with PromiseMsg

use of abs.backend.java.lib.net.msg.PromiseMsg in project abstools by abstools.

the class NetCOG method processMsg.

synchronized void processMsg(Msg msg) {
    if (msg instanceof CallMsg) {
        CallMsg cm = (CallMsg) msg;
        // FIXME: create task and replace promises with futures
        Task<?> task = new Task(cm.call);
        addTask(task);
    } else {
        PromiseMsg pm = (PromiseMsg) msg;
        promises.put(pm.promise, pm.value);
        ABSFut<? super ABSValue> f = futureMap.get(pm.promise);
        if (f != null) {
            f.resolve(pm.value);
        }
    }
}
Also used : PromiseMsg(abs.backend.java.lib.net.msg.PromiseMsg) Task(abs.backend.java.lib.runtime.Task) CallMsg(abs.backend.java.lib.net.msg.CallMsg)

Aggregations

CallMsg (abs.backend.java.lib.net.msg.CallMsg)1 PromiseMsg (abs.backend.java.lib.net.msg.PromiseMsg)1 Task (abs.backend.java.lib.runtime.Task)1