Package com.droidkit.actors.tasks.messages

Examples of com.droidkit.actors.tasks.messages.TaskRequest


    }

    @Override
    public void onReceive(Object message) {
        if (message instanceof TaskRequest) {
            TaskRequest request = (TaskRequest) message;
            if (isCompleted) {
                if (isCompletedSuccess) {
                    reply(result);
                }
            } else {
                TaskListener listener = new TaskListener(request.getRequestId(), sender());
                requests.add(listener);
            }
        } else if (message instanceof TaskCancel) {
            if (isCompleted) {
                return;
            }
            TaskCancel cancel = (TaskCancel) message;
            TaskListener listener = new TaskListener(cancel.getRequestId(), sender());
            requests.remove(listener);
            if (requests.size() == 0) {
                onTaskObsolete();
                context().stopSelf();
            }
        } else if (message instanceof Result) {
            if (!isCompleted) {
                Result res = (Result) message;
                isCompleted = true;
                isCompletedSuccess = true;
                result = (T) res.getRes();
                for (TaskListener request : requests) {
                    request.getSender().send(new TaskResult<T>(request.getRequestId(), result));
                }
                self().send(PoisonPill.INSTANCE, dieTimeout);
            }
        } else if (message instanceof Error) {
            if (!isCompleted) {
                isCompleted = true;
                Error error = (Error) message;
                for (TaskListener request : requests) {
                    request.getSender().send(new TaskError(request.getRequestId(), error.getError()));
                }
                context().stopSelf();
            }
        }
    }
View Full Code Here

TOP

Related Classes of com.droidkit.actors.tasks.messages.TaskRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.