summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2002-09-06 12:54:51 +0000
committerMarc Laukien <marc@zeroc.com>2002-09-06 12:54:51 +0000
commit5c967135e45b42c0b191351b7379b4e4f4f1dc56 (patch)
tree632bdfb4b85208e33278e4bf23f8dad335217755 /java/src
parentfixes (diff)
downloadice-5c967135e45b42c0b191351b7379b4e4f4f1dc56.tar.bz2
ice-5c967135e45b42c0b191351b7379b4e4f4f1dc56.tar.xz
ice-5c967135e45b42c0b191351b7379b4e4f4f1dc56.zip
added toString to EventHandler
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/Connection.java5
-rw-r--r--java/src/IceInternal/EventHandler.java15
-rw-r--r--java/src/IceInternal/IncomingConnectionFactory.java11
-rw-r--r--java/src/IceInternal/ThreadPool.java14
4 files changed, 39 insertions, 6 deletions
diff --git a/java/src/IceInternal/Connection.java b/java/src/IceInternal/Connection.java
index ac7bd70b6b4..ec025e0ffc5 100644
--- a/java/src/IceInternal/Connection.java
+++ b/java/src/IceInternal/Connection.java
@@ -690,6 +690,11 @@ public final class Connection extends EventHandler
}
}
+ public String toString()
+ {
+ return _transceiver.toString();
+ }
+
Connection(Instance instance, Transceiver transceiver, Endpoint endpoint, Ice.ObjectAdapter adapter)
{
super(instance);
diff --git a/java/src/IceInternal/EventHandler.java b/java/src/IceInternal/EventHandler.java
index 5e014f63fdb..09d937c8e7c 100644
--- a/java/src/IceInternal/EventHandler.java
+++ b/java/src/IceInternal/EventHandler.java
@@ -15,30 +15,35 @@ abstract class EventHandler
//
// Return true if read() must be called before calling message().
//
- abstract boolean readable();
+ abstract public boolean readable();
//
// Read data via the event handler. May only be called if
// readable() returns true.
//
- abstract void read(BasicStream is);
+ abstract public void read(BasicStream is);
//
// A complete message has been received.
//
- abstract void message(BasicStream stream, ThreadPool threadPool);
+ abstract public void message(BasicStream stream, ThreadPool threadPool);
//
// Will be called if the event handler is finally
// unregistered. (Calling unregister() does not unregister
// immediately.)
//
- abstract void finished(ThreadPool threadPool);
+ abstract public void finished(ThreadPool threadPool);
//
// Propagate an exception to the event handler.
//
- abstract void exception(Ice.LocalException ex);
+ abstract public void exception(Ice.LocalException ex);
+
+ //
+ // Get a textual representation of the event handler.
+ //
+ abstract public String toString();
protected
EventHandler(Instance instance)
diff --git a/java/src/IceInternal/IncomingConnectionFactory.java b/java/src/IceInternal/IncomingConnectionFactory.java
index 1a5274b51e1..60177124f04 100644
--- a/java/src/IceInternal/IncomingConnectionFactory.java
+++ b/java/src/IceInternal/IncomingConnectionFactory.java
@@ -177,6 +177,17 @@ public class IncomingConnectionFactory extends EventHandler
assert(false); // Must not be called.
}
+ public String toString()
+ {
+ if(_transceiver != null)
+ {
+ return _transceiver.toString();
+ }
+
+ assert(_acceptor != null);
+ return _acceptor.toString();
+ }
+
public
IncomingConnectionFactory(Instance instance, Endpoint endpoint, Ice.ObjectAdapter adapter)
{
diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java
index 2ca7e6a7833..8354cff247c 100644
--- a/java/src/IceInternal/ThreadPool.java
+++ b/java/src/IceInternal/ThreadPool.java
@@ -587,7 +587,19 @@ public final class ThreadPool
// Notify a handler about it's removal from the thread
// pool.
//
- handler.finished(this);
+ try
+ {
+ handler.finished(this);
+ }
+ catch(Ice.LocalException ex)
+ {
+ java.io.StringWriter sw = new java.io.StringWriter();
+ java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+ ex.printStackTrace(pw);
+ pw.flush();
+ String s = "exception while calling finished():\n" + handler.toString() + "\n" + sw.toString();
+ _instance.logger().error(s);
+ }
synchronized(this)
{