summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/TraceUtil.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-09-05 02:35:27 +0000
committerMarc Laukien <marc@zeroc.com>2001-09-05 02:35:27 +0000
commit21d6da9ae8b7f87bd35be4c55122545c2a6c0987 (patch)
treec12260002ff01312c17717f2ea569e1ab9684eea /cpp/src/Ice/TraceUtil.cpp
parentfix for STLport (diff)
downloadice-21d6da9ae8b7f87bd35be4c55122545c2a6c0987.tar.bz2
ice-21d6da9ae8b7f87bd35be4c55122545c2a6c0987.tar.xz
ice-21d6da9ae8b7f87bd35be4c55122545c2a6c0987.zip
batch-mode
Diffstat (limited to 'cpp/src/Ice/TraceUtil.cpp')
-rw-r--r--cpp/src/Ice/TraceUtil.cpp85
1 files changed, 83 insertions, 2 deletions
diff --git a/cpp/src/Ice/TraceUtil.cpp b/cpp/src/Ice/TraceUtil.cpp
index 6a906e6882d..22f35ff1b90 100644
--- a/cpp/src/Ice/TraceUtil.cpp
+++ b/cpp/src/Ice/TraceUtil.cpp
@@ -10,9 +10,11 @@
#include <Ice/TraceUtil.h>
#include <Ice/Instance.h>
+#include <Ice/Object.h>
#include <Ice/TraceLevels.h>
#include <Ice/Logger.h>
#include <Ice/Stream.h>
+#include <Ice/Protocol.h>
#include <sstream>
using namespace std;
@@ -30,7 +32,35 @@ printHeader(ostream& s, Stream& stream)
s << "\nencoding version = " << static_cast<int>(encVer);
Byte type;
stream.read(type);
- s << "\nmessage type = " << static_cast<int>(type);
+ s << "\nmessage type = " << static_cast<int>(type) << ' ';
+ switch(type)
+ {
+ case requestMsg:
+ {
+ s << "(request)";
+ break;
+ }
+ case requestBatchMsg:
+ {
+ s << "(request batch)";
+ break;
+ }
+ case replyMsg:
+ {
+ s << "(reply)";
+ break;
+ }
+ case closeConnectionMsg:
+ {
+ s << "(close connection)";
+ break;
+ }
+ default:
+ {
+ s << "(unknown)";
+ break;
+ }
+ }
Int size;
stream.read(size);
s << "\nmessage size = " << size;
@@ -69,7 +99,9 @@ IceInternal::traceRequest(const char* heading, const Stream& str, const ::Ice::L
stream.read(requestId);
s << "\nrequest id = " << requestId;
if (requestId == 0)
+ {
s << " (oneway)";
+ }
string identity;
stream.read(identity);
s << "\nidentity = " << identity;
@@ -82,6 +114,22 @@ IceInternal::traceRequest(const char* heading, const Stream& str, const ::Ice::L
}
void
+IceInternal::traceBatchRequest(const char* heading, const Stream& str, const ::Ice::LoggerPtr& logger,
+ const TraceLevelsPtr& tl)
+{
+ if (tl->protocol >= 1)
+ {
+ Stream& stream = const_cast<Stream&>(str);
+ Stream::Container::iterator p = stream.i;
+ stream.i = stream.b.begin();
+ ostringstream s;
+ s << heading;
+ printHeader(s, stream);
+ stream.i = p;
+ }
+}
+
+void
IceInternal::traceReply(const char* heading, const Stream& str, const ::Ice::LoggerPtr& logger,
const TraceLevelsPtr& tl)
{
@@ -98,7 +146,40 @@ IceInternal::traceReply(const char* heading, const Stream& str, const ::Ice::Log
s << "\nrequest id = " << requestId;
Byte status;
stream.read(status);
- s << "\nreply status = " << static_cast<int>(status);
+ s << "\nreply status = " << static_cast<int>(status) << ' ';
+ switch(static_cast<DispatchStatus>(status))
+ {
+ case DispatchOK:
+ {
+ s << "(ok)";
+ break;
+ }
+ case DispatchException:
+ {
+ s << "(exception)";
+ break;
+ }
+ case DispatchLocationForward:
+ {
+ s << "(location forward)";
+ break;
+ }
+ case DispatchObjectNotExist:
+ {
+ s << "(object not exist)";
+ break;
+ }
+ case DispatchOperationNotExist:
+ {
+ s << "(operation not exist)";
+ break;
+ }
+ default:
+ {
+ s << "(unknown)";
+ break;
+ }
+ }
logger->trace(tl->protocolCat, s.str());
stream.i = p;
}