ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/experimental/agents/AgentStation.java
Revision: 1.1
Committed: Mon Apr 23 19:45:18 2001 UTC (23 years ago) by ajm
Branch: MAIN
Log Message:
Sketchy ideas for starting the "agents" project.

File Contents

# User Rev Content
1 ajm 1.1 import java.io.*;
2     import java.net.*;
3     import java.rmi.RMISecurityManager;
4     import java.util.*;
5    
6     class AgentStation extends Station {
7    
8     public static final String REVISION = "v0.0.1";
9     public static final int LISTEN_PORT = 32497;
10    
11     public static void main(String[] args) throws IOException, UnknownHostException, ClassNotFoundException {
12     System.out.println("- Agent Station " + REVISION + "-");
13     System.out.println("Boot sequence start.");
14     //System.getProperties().setProperty("java.security.policy", "/home/cut/ajm4/java/java.policy");
15     //if (System.getSecurityManager() == null) {
16     // System.out.println("Setting security manager...");
17     // System.setSecurityManager(new RMISecurityManager());
18     //}
19     AgentStation station = new AgentStation();
20    
21     station.startListening();
22    
23     System.out.println("Boot sequence end.");
24     }
25    
26     public void startListening() throws IOException, UnknownHostException, ClassNotFoundException {
27     ServerSocket listener = new ServerSocket(LISTEN_PORT);
28     while (_listening) {
29     System.out.println("Listening...");
30     Socket conn = listener.accept();
31     System.out.println("Got connection...");
32     ObjectInputStream p = new ObjectInputStream(conn.getInputStream());
33     System.out.println("Got hook to stream...");
34     Agent agent = (Agent)p.readObject();
35     _agentList.add(agent);
36     System.out.println("Got agent...");
37     System.out.println("Closing connection...");
38     conn.close();
39     System.out.println("Telling agent that its journey is complete...");
40     agent.onArrival(this);
41     System.out.println("New agent name - " + agent.getName());
42     System.out.println(agent.getName() + "'s transmission count - " + agent.getTransmissionCount());
43     System.out.println("Attempting to run locally...");
44     Thread thread = new Thread(agent);
45     thread.start();
46     System.out.println("Done.");
47     }
48     }
49    
50     public ArrayList getAllAgents() {
51     return _agentList;
52     }
53    
54     public String getName() {
55     return _name;
56     }
57    
58     private String _name = "Listening Post Alpha76";
59     private boolean _listening = true;
60     private ArrayList _agentList = new ArrayList();
61     }