Add log messages related to protocol (de)serialization 40/24440/2
authorAdam Malinowski <a.malinowsk2@partner.samsung.com>
Mon, 14 Jul 2014 10:14:39 +0000 (12:14 +0200)
committerAdam Malinowski <a.malinowsk2@partner.samsung.com>
Wed, 16 Jul 2014 06:36:19 +0000 (08:36 +0200)
Change-Id: I6ca994c29326f0f5bce2e668adc4f9a3185c1592

src/client/logic/Logic.cpp
src/common/protocol/ProtocolClient.cpp
src/common/protocol/ProtocolFrameSerializer.cpp

index 6ac6fb9..ecdf34b 100644 (file)
@@ -80,6 +80,10 @@ cynara_api_result Logic::check(const std::string &client, const std::string &ses
             LOGC("Critical error. Casting Response to CheckResponse failed.");
             throw UnexpectedErrorException("Error casting Response to CheckResponse");
         }
+
+        LOGD("checkResponse: policyType = %d, metadata = %s",
+             (int)checkResponse->m_resultRef.policyType(),
+             checkResponse->m_resultRef.metadata().c_str());
     } catch (const ServerConnectionErrorException &ex) {
         LOGE("Cynara service not available.");
         onDisconnected();
index 9369b54..9ad801d 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <exceptions/InvalidProtocolException.h>
 #include <exceptions/OutOfDataException.h>
+#include <log/log.h>
 #include <protocol/ProtocolFrameSerializer.h>
 #include <protocol/ProtocolOpCode.h>
 #include <protocol/ProtocolSerialization.h>
@@ -54,6 +55,9 @@ RequestPtr ProtocolClient::deserializeCheckRequest(ProtocolFrameHeader &frame) {
     ProtocolDeserialization::deserialize(frame, userId);
     ProtocolDeserialization::deserialize(frame, privilegeId);
 
+    LOGD("Deserialized CheckRequest: client = %s, user = %s, privilege = %s",
+         clientId.c_str(), userId.c_str(), privilegeId.c_str());
+
     return std::make_shared<CheckRequest>(PolicyKey(clientId, userId, privilegeId),
             frame.sequenceNumber());
 }
@@ -62,11 +66,12 @@ RequestPtr ProtocolClient::extractRequestFromBuffer(BinaryQueue &bufferQueue) {
     ProtocolFrameSerializer::deserializeHeader(m_frameHeader, bufferQueue);
 
     if (m_frameHeader.isFrameComplete()) {
-        ProtocolOpCode requestId;
+        ProtocolOpCode opCode;
 
         m_frameHeader.resetState();
-        ProtocolDeserialization::deserialize(m_frameHeader, requestId);
-        switch (requestId) {
+        ProtocolDeserialization::deserialize(m_frameHeader, opCode);
+        LOGD("Deserialized opCode = %d", (int)opCode);
+        switch (opCode) {
         case OpCheckPolicy:
             return deserializeCheckRequest(m_frameHeader);
         default:
@@ -85,18 +90,24 @@ ResponsePtr ProtocolClient::deserializeCheckResponse(ProtocolFrameHeader &frame)
     ProtocolDeserialization::deserialize(frame, result);
     ProtocolDeserialization::deserialize(frame, additionalInfo);
 
-    return std::make_shared<CheckResponse>(PolicyResult(result, additionalInfo), frame.sequenceNumber());
+    const PolicyResult policyResult(result, additionalInfo);
+
+    LOGD("Deserialized CheckResponse: result = %d, metadata = %s",
+         (int)policyResult.policyType(), policyResult.metadata().c_str());
+
+    return std::make_shared<CheckResponse>(policyResult, frame.sequenceNumber());
 }
 
 ResponsePtr ProtocolClient::extractResponseFromBuffer(BinaryQueue &bufferQueue) {
     ProtocolFrameSerializer::deserializeHeader(m_frameHeader, bufferQueue);
 
     if (m_frameHeader.isFrameComplete()) {
-        ProtocolOpCode requestId;
+        ProtocolOpCode opCode;
 
         m_frameHeader.resetState();
-        ProtocolDeserialization::deserialize(m_frameHeader, requestId);
-        switch (requestId) {
+        ProtocolDeserialization::deserialize(m_frameHeader, opCode);
+        LOGD("Deserialized opCode = %d", (int)opCode);
+        switch (opCode) {
         case OpCheckPolicy:
             return deserializeCheckResponse(m_frameHeader);
         default:
@@ -111,6 +122,10 @@ ResponsePtr ProtocolClient::extractResponseFromBuffer(BinaryQueue &bufferQueue)
 void ProtocolClient::execute(RequestContextPtr context, CheckRequestPtr request) {
     ProtocolFramePtr frame = ProtocolFrameSerializer::startSerialization(request->sequenceNumber());
 
+    LOGD("Serializing CheckRequest: client = %s, user = %s, privilege = %s",
+         request->key().client().value().c_str(),
+         request->key().user().value().c_str(), request->key().privilege().value().c_str());
+
     ProtocolSerialization::serialize(*frame, OpCheckPolicy);
     ProtocolSerialization::serialize(*frame, request->key().client().value());
     ProtocolSerialization::serialize(*frame, request->key().user().value());
index 25a5649..d8c4c7b 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <exceptions/InvalidProtocolException.h>
 #include <exceptions/OutOfDataException.h>
+#include <log/log.h>
 
 #include "ProtocolFrameSerializer.h"
 
@@ -36,11 +37,16 @@ void ProtocolFrameSerializer::deserializeHeader(ProtocolFrameHeader &frameHeader
             return;
         }
 
+        LOGD("Deserializing frameHeader");
+
         frameHeader.setHeaderContent(BinaryQueuePtr(&data, [=] (BinaryQueue *) {}));
 
         ProtocolFrameSignature signature;
         ProtocolDeserialization::deserialize(frameHeader, frameHeader.m_signature.length(),
                 signature);
+
+        LOGD("Deserialized signature = %s", signature.c_str());
+
         if (ProtocolFrameHeader::m_signature != signature) {
             throw InvalidProtocolException(InvalidProtocolException::InvalidSignature);
         }
@@ -48,6 +54,9 @@ void ProtocolFrameSerializer::deserializeHeader(ProtocolFrameHeader &frameHeader
         ProtocolDeserialization::deserialize(frameHeader, frameHeader.m_frameLength);
         ProtocolDeserialization::deserialize(frameHeader, frameHeader.m_sequenceNumber);
 
+        LOGD("Deserialized frameLength = %d, sequenceNumber = %d",
+             (int)frameHeader.m_frameLength, (int)frameHeader.m_sequenceNumber);
+
         frameHeader.setHeaderComplete();
     }
 
@@ -57,6 +66,8 @@ void ProtocolFrameSerializer::deserializeHeader(ProtocolFrameHeader &frameHeader
 }
 
 ProtocolFramePtr ProtocolFrameSerializer::startSerialization(ProtocolFrameSequenceNumber sequenceNumber) {
+    LOGD("Serialization started");
+
     BinaryQueuePtr headerQueue = std::make_shared<BinaryQueue>();
     BinaryQueuePtr bodyQueue = std::make_shared<BinaryQueue>();
     ProtocolFrameHeaderPtr header = std::make_shared<ProtocolFrameHeader>(headerQueue);
@@ -71,6 +82,10 @@ void ProtocolFrameSerializer::finishSerialization(ProtocolFramePtr frame, Binary
     ProtocolSerialization::serialize(frameHeader, frameHeader.m_frameLength);
     ProtocolSerialization::serialize(frameHeader, frameHeader.m_sequenceNumber);
 
+    LOGD("Serialize frameHeader: signature = %s, frameLength = %d, sequenceNumber = %d",
+         ProtocolFrameHeader::m_signature.c_str(), (int)frameHeader.m_frameLength,
+         (int)frameHeader.m_sequenceNumber);
+
     data.appendMoveFrom(frameHeader.headerContent());
     data.appendMoveFrom(frame->bodyContent());
 }