Author: bdonlan
Date: 2005-05-22 00:16:43 -0400 (Sun, 22 May 2005)
New Revision: 701
Modified:
trunk/clients/Javer2/src/haver/Callback.java
trunk/clients/Javer2/src/haver/Client.java
Log:
src/haver/Callback.java:
* class Callback: implement tagging interface
java.util.EventListener
src/haver/Client.java
* class Client.ConnectMonitor, class Client.SyncMonitor:
Seperate IO exception handling into a generic
class for future synchronous actions
Modified: trunk/clients/Javer2/src/haver/Callback.java
===================================================================
--- trunk/clients/Javer2/src/haver/Callback.java 2005-05-22 04:06:45 UTC
(rev 700)
+++ trunk/clients/Javer2/src/haver/Callback.java 2005-05-22 04:16:43 UTC
(rev 701)
@@ -11,7 +11,7 @@
*
* @author bdonlan
*/
-public abstract class Callback {
+public abstract class Callback implements java.util.EventListener {
/**
* Called when a connection to the server is established but before
handshaking
* occurs.
Modified: trunk/clients/Javer2/src/haver/Client.java
===================================================================
--- trunk/clients/Javer2/src/haver/Client.java 2005-05-22 04:06:45 UTC (rev
700)
+++ trunk/clients/Javer2/src/haver/Client.java 2005-05-22 04:16:43 UTC (rev
701)
@@ -274,18 +274,9 @@
io.start();
}
- protected class ConnectMonitor extends Callback {
- IOException fail = null;
- boolean done = false;
- String name;
+ protected class SyncMonitor extends Callback {
+ public IOException fail = null;
- public ConnectMonitor(String name) {
- this.name = name;
- }
-
- public void onNeedIdent(Client source) throws IOException {
- source.ident(name);
- }
public synchronized void onDisconnected(Client source, IOException e) {
fail = new IOException("Disconnected unexpectedly");
notifyAll();
@@ -294,6 +285,20 @@
fail = e;
notifyAll();
}
+ }
+
+ protected class ConnectMonitor extends SyncMonitor {
+ public boolean done = false;
+ public String name;
+
+ public ConnectMonitor(String name) {
+ this.name = name;
+ }
+
+ public void onNeedIdent(Client source) throws IOException {
+ source.ident(name);
+ }
+
public synchronized void onAccept(Client source, String name) {
done = true;
notifyAll();