Package net.tomp2p.task

Source Code of net.tomp2p.task.Worker2

package net.tomp2p.task;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

import junit.framework.Assert;
import net.tomp2p.Utils2;
import net.tomp2p.futures.FutureTask;
import net.tomp2p.p2p.Peer;
import net.tomp2p.p2p.RequestP2PConfiguration;
import net.tomp2p.peers.Number160;
import net.tomp2p.storage.Data;

import org.junit.Test;

public class TestTaskDHT {
    final private static Random rnd = new Random(42L);

    @Test
    public void testTaskSubmit1() throws Exception {
        Peer master = null;
        try {
            // setup
            Peer[] peers = Utils2.createNodes(200, rnd, 4001);
            master = peers[0];
            Utils2.perfectRouting(peers);
            // do testing
            Number160 locationKey = new Number160(rnd);
            FutureTask ft = peers[12].submit(locationKey, new Worker2())
                    .setRequestP2PConfiguration(new RequestP2PConfiguration(1, 0, 0)).start();
            ft.awaitUninterruptibly();
            Assert.assertEquals(true, ft.isSuccess());
            Assert.assertEquals(1, ft.getRawDataMap().size());
        } finally {
            System.out.println("done");
            master.halt();
        }
    }

    @Test
    public void testTaskSubmit2() throws Exception {
        Peer master = null;
        try {
            // setup
            Peer[] peers = Utils2.createNodes(200, rnd, 4001);
            master = peers[0];
            Utils2.perfectRouting(peers);
            // do testing
            Number160 locationKey = new Number160(rnd);
            FutureTask ft = peers[12].submit(locationKey, new Worker2())
                    .setRequestP2PConfiguration(new RequestP2PConfiguration(2, 0, 0)).start();
            ft.awaitUninterruptibly();
            Assert.assertEquals(true, ft.isSuccess());
            Assert.assertEquals(2, ft.getRawDataMap().size());
        } finally {
            System.out.println("done");
            master.halt();
        }
    }
}

class Worker2 implements Worker {
    private static final long serialVersionUID = 106846602205331838L;

    @Override
    public Map<Number160, Data> execute(Peer peer, Number160 taskId, Map<Number160, Data> inputData) throws Exception {
        System.out.println("executed");
        Map<Number160, Data> retVal = new HashMap<Number160, Data>();
        retVal.put(Number160.ONE, new Data(1));
        return retVal;
    }
};
TOP

Related Classes of net.tomp2p.task.Worker2

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.