annotate src/pathfinder/NetworkSimulator.java @ 68:735e70091564

EditorSimulator1 in TestNetwork
author kent
date Thu, 08 Nov 2007 12:56:56 +0900
parents 2e5bd7bffa4b
children 3c9b8371681d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
1 package pathfinder;
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
2
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
3 import java.util.ArrayList;
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
4 import java.util.LinkedList;
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
5 import java.util.List;
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
6 import java.util.Queue;
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
7
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
8 public class NetworkSimulator<P> {
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
9
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
10 public Queue<ChannelSimulator<P>> acceptList;
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
11 public Queue<ChannelSimulator<P>> connectList;
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
12
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
13 public NetworkSimulator(){
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
14 acceptList = new LinkedList<ChannelSimulator<P>>();
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
15 connectList = new LinkedList<ChannelSimulator<P>>();
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
16 }
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
17
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
18 public ChannelSimulator<P> accept(){
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
19 ChannelSimulator<P> cs = acceptList.poll();
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
20 connectList.offer(cs);
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
21
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
22 return cs.getServerChannel();
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
23 }
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
24 public void connect(ChannelSimulator<P> cs){
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
25 acceptList.offer(cs);
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
26 }
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
27
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
28 public synchronized P read(Queue<P>q) {
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
29 return q.poll();
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
30 }
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
31
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
32 public synchronized boolean write(Queue<P>q,P p) {
68
735e70091564 EditorSimulator1 in TestNetwork
kent
parents: 67
diff changeset
33 return q.offer(p);
67
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
34 }
2e5bd7bffa4b JavaPathFinder—p‚̃eƒXƒgƒNƒ‰ƒX
kent
parents:
diff changeset
35 }