Package org.agilewiki.jactor.simpleMachine

Source Code of org.agilewiki.jactor.simpleMachine.ReturnFTest$ReturnF2

package org.agilewiki.jactor.simpleMachine;

import junit.framework.TestCase;
import org.agilewiki.jactor.*;
import org.agilewiki.jactor.lpc.JLPCActor;
import org.agilewiki.jactor.JAFuture;
import org.agilewiki.jactor.JAMailboxFactory;
import org.agilewiki.jactor.MailboxFactory;
import org.agilewiki.jactor.RP;

/**
* Test code.
*/
public class ReturnFTest extends TestCase {
    public void test() {
        MailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(1);
        try {
            JAFuture future = new JAFuture();
            ReturnF1 actor1 = new ReturnF1();
            actor1.initialize(mailboxFactory.createMailbox());
            System.out.println(SimpleRequest.req.send(future, actor1));
            ReturnF2 actor2 = new ReturnF2();
            actor2.initialize(mailboxFactory.createMailbox());
            System.out.println(SimpleRequest.req.send(future, actor2));
        } catch (Throwable e) {
            e.printStackTrace();
        } finally {
            mailboxFactory.close();
        }
    }

    class ReturnF1 extends JLPCActor implements SimpleRequestReceiver {
        @Override
        public void processRequest(SimpleRequest unwrappedRequest, RP rp)
                throws Exception {
            SMBuilder smb = new SMBuilder();
            smb._return(new ObjectFunc() {
                @Override
                public Object get(SimpleMachine sm) {
                    return "Hello world!";
                }
            });
            smb.call(rp);
            //Output:
            //Hello world!
        }
    }

    class ReturnF2 extends JLPCActor implements SimpleRequestReceiver {
        @Override
        public void processRequest(SimpleRequest unwrappedRequest, RP rp) throws Exception {
            SMBuilder smb = new SMBuilder();
            smb._return(new ObjectFunc() {
                @Override
                public Object get(SimpleMachine sm) {
                    return null;
                }
            });
            smb.call(rp);
            //Output:
            //null
        }
    }
}
TOP

Related Classes of org.agilewiki.jactor.simpleMachine.ReturnFTest$ReturnF2

TOP
Copyright © 2018 www.massapi.com. 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.