From: Neetesh S. <nee...@ii...> - 2015-11-23 20:26:46
|
I'm using network flow example (example01), in which 4 users, 2 sender, say user-1 and user-2 send messages to 2 receiver, say user-3 and user-4. user-1 -> user-3 (msg) user-3 -> user-1 (ack) user-2 -> user-4 (msg) user-4 -> user-2 (ack) Now I want to connect new user5 -> user1 (msg) and user-1 -> user5 (ack). Here is the code, I'm trying: int num_user = 6;Router r1 = new FlowRouter("router1", trace_flag); // router 1Router r2 = new FlowRouter("router2", trace_flag); // router 2 String sender1 = "user1";String receipient1 = "user3";String sender2 = "user2";String receipient2 = "user4"; // these entities are the sendersFlowNetUser user1 = new FlowNetUser(sender1, receipient2, 5.0);FlowNetUser user2 = new FlowNetUser(sender2, receipient1, 20.0); String sender3 = "user5";String receipient3 = "user6";FlowNetUser user5 = new FlowNetUser(sender3, receipient1, 50.0); // these entities are the receipientsFlowTest user3 = new FlowTest(receipient1, sender2);FlowTest user4 = new FlowTest(receipient2, sender1); // The schedulers are redundent and will be stripped out soonFIFOScheduler userSched1 = new FIFOScheduler("NetUserSched_0"); r1.attachHost(user1, userSched1); FIFOScheduler userSched2 = new FIFOScheduler("NetUserSched_1"); r1.attachHost(user2, userSched2); FIFOScheduler userSched3 = new FIFOScheduler("FlowTestSched_0"); r2.attachHost(user3, userSched3); FIFOScheduler userSched4 = new FIFOScheduler("FlowTestSched_1"); r2.attachHost(user4, userSched4; FlowTest user6 = new FlowTest(receipient1, sender3);FIFOScheduler userSched5 = new FIFOScheduler("NetUserSched_2");FIFOScheduler userSched6 = new FIFOScheduler("FlowTestSched_2"); r1.attachHost(user5, userSched3); r2.attachHost(user6, testSched3); double baud_rate = 1572864; // bits/secdouble propDelay = 300; int mtu = Integer.MAX_VALUE;; Link link = new FlowLink("r1_r2_link", baud_rate, propDelay, mtu);FIFOScheduler r1Sched = new FIFOScheduler("r1_Sched");FIFOScheduler r2Sched = new FIFOScheduler("r2_Sched"); r1.attachRouter(r2, link, r1Sched, r2Sched); However, when I wish to connect user-1 -> user-5 (msg) and user-5 -> user-1 (ack), the program throws NullPointerException. java.lang.NullPointerException at gridsim.net.flow.FlowRouter.dequeue(Unknown Source) at gridsim.net.flow.FlowRouter.processInternalEvent(Unknown Source) at gridsim.net.flow.FlowRouter.processEvent(Unknown Source) at gridsim.net.Router.body(Unknown Source) at eduni.simjava.Sim_entity.run(Sim_entity.java:605) I wish to know how to do the same. I think there is some problem related to scheduler. But i'm not able to figure out. I hope you could help me. Thanks. |