summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/TraceUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/TraceUtil.java')
-rw-r--r--java/src/IceInternal/TraceUtil.java145
1 files changed, 145 insertions, 0 deletions
diff --git a/java/src/IceInternal/TraceUtil.java b/java/src/IceInternal/TraceUtil.java
new file mode 100644
index 00000000000..f4f6116251d
--- /dev/null
+++ b/java/src/IceInternal/TraceUtil.java
@@ -0,0 +1,145 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+package IceInternal;
+
+final class TraceUtil
+{
+ static void
+ traceHeader(String heading, Ice.Stream stream, Ice.Logger logger,
+ TraceLevels tl)
+ {
+ if (tl.protocol >= 1)
+ {
+ // TODO: stream stuff
+ java.io.StringWriter s = new java.io.StringWriter();
+ s.write(heading);
+ printHeader(s, stream);
+ logger.trace(tl.protocolCat, s.toString());
+ }
+ }
+
+ static void
+ traceRequest(String heading, Ice.Stream stream, Ice.Logger logger,
+ TraceLevels tl)
+ {
+ if (tl.protocol >= 1)
+ {
+ // TODO: stream stuff
+ java.io.StringWriter s = new java.io.StringWriter();
+ s.write(heading);
+ printHeader(s, stream);
+ int requestId = stream.readInt();
+ s.write("\nrequest id = " + requestId);
+ if (requestId == 0)
+ {
+ s.write(" (oneway)");
+ }
+ String identity = stream.readString();
+ s.write("\nidentity = " + identity);
+ String facet = stream.readString();
+ s.write("\nfacet = " + facet);
+ String operation = stream.readString();
+ s.write("\noperation name = " + operation);
+ logger.trace(tl.protocolCat, s.toString());
+ }
+ }
+
+ static void
+ traceBatchRequest(String heading, Ice.Stream stream, Ice.Logger logger,
+ TraceLevels tl)
+ {
+ if (tl.protocol >= 1)
+ {
+ // TODO: stream stuff
+ java.io.StringWriter s = new java.io.StringWriter();
+ s.write(heading);
+ printHeader(s, stream);
+ int cnt = 0;
+ while (true /* stream.i != stream.b.end() */ )
+ {
+ s.write("\nrequest #" + cnt + ':');
+ cnt++;
+ // TODO
+ stream.startReadEncaps();
+ String identity = stream.readString();
+ s.write("\nidentity = " + identity);
+ String facet = stream.readString();
+ s.write("\nfacet = " + facet);
+ String operation = stream.readString();
+ s.write("\noperation name = " + operation);
+ // TODO
+ stream.skipEncaps();
+ }
+ logger.trace(tl.protocolCat, s.toString());
+ }
+ }
+
+ static void
+ traceReply(String heading, Ice.Stream stream, Ice.Logger logger,
+ TraceLevels tl)
+ {
+ if (tl.protocol >= 1)
+ {
+ // TODO: stream stuff
+ java.io.StringWriter s = new java.io.StringWriter();
+ s.write(heading);
+ printHeader(s, stream);
+ int requestId = stream.readInt();
+ s.write("\nrequest id = " + requestId);
+ byte status = stream.readByte();
+ s.write("\nreply status = " + (int)status + ' ');
+ switch (status)
+ {
+ case DispatchStatus._DispatchOK:
+ {
+ s.write("(ok)");
+ break;
+ }
+ case DispatchStatus._DispatchUserException:
+ {
+ s.write("(user exception)");
+ break;
+ }
+ case DispatchStatus._DispatchLocationForward:
+ {
+ s.write("(location forward)");
+ break;
+ }
+ case DispatchStatus._DispatchObjectNotExist:
+ {
+ s.write("(object not exist)");
+ break;
+ }
+ case DispatchStatus._DispatchOperationNotExist:
+ {
+ s.write("(operation not exist)");
+ break;
+ }
+ case DispatchStatus._DispatchUnknownLocalException:
+ {
+ s.write("(unknown local exception)");
+ break;
+ }
+ case DispatchStatus._DispatchUnknownException:
+ {
+ s.write("(unknown exception)");
+ break;
+ }
+ default:
+ {
+ s.write("(unknown)");
+ break;
+ }
+ }
+ logger.trace(tl.protocolCat, s.toString());
+ }
+ }
+}