summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Anthony Giusti <kgiusti@apache.org>2010-03-17 19:16:01 +0000
committerKenneth Anthony Giusti <kgiusti@apache.org>2010-03-17 19:16:01 +0000
commit02274c1936de019930b917b7753d3fd689106a3e (patch)
tree2e4383ea3c1d24be8d61b9f025c7e11b901f748a
parent21cc08c6f8497ae1d6b7373e2e75145832442527 (diff)
downloadqpid-python-02274c1936de019930b917b7753d3fd689106a3e.tar.gz
compiles... added TODO notes
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/qmf-devel0.7a@924424 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/management/ManagementAgent.cpp22
-rw-r--r--qpid/cpp/src/qpid/management/ManagementAgent.h3
2 files changed, 25 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/management/ManagementAgent.cpp b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
index eeedddc3e2..2d0ac2d031 100644
--- a/qpid/cpp/src/qpid/management/ManagementAgent.cpp
+++ b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
@@ -754,6 +754,7 @@ bool ManagementAgent::dispatchCommand (Deliverable& deliverable,
void ManagementAgent::handleMethodRequestLH (Buffer& inBuffer, string replyToKey,
uint32_t sequence, const ConnectionToken* connToken)
{
+ // @todo KAG use new method req format
string methodName;
string packageName;
string className;
@@ -935,6 +936,7 @@ void ManagementAgent::handleClassIndLH (Buffer& inBuffer, string replyToKey, uin
uint32_t outLen;
uint32_t sequence = nextRequestSequence++;
+ // Schema Request
encodeHeader (outBuffer, 'S', sequence);
outBuffer.putShortString(packageName);
key.encode(outBuffer);
@@ -971,6 +973,7 @@ void ManagementAgent::SchemaClass::appendSchema(Buffer& buf)
void ManagementAgent::handleSchemaRequestLH(Buffer& inBuffer, string replyToKey, uint32_t sequence)
{
+ // @todo KAG: use new schema format
string packageName;
SchemaClassKey key;
@@ -1012,6 +1015,7 @@ void ManagementAgent::handleSchemaResponseLH(Buffer& inBuffer, string /*replyToK
string packageName;
SchemaClassKey key;
+ // KAG: TODO - Handle new schema format
inBuffer.record();
inBuffer.getOctet();
inBuffer.getShortString(packageName);
@@ -1254,6 +1258,8 @@ void ManagementAgent::handleGetQueryLH (Buffer& inBuffer, string replyToKey, uin
bool ManagementAgent::authorizeAgentMessageLH(Message& msg)
{
+ // KAG TODO: handle both old and new clients
+
Buffer inBuffer (inputBuffer, MA_BUFFER_SIZE);
uint8_t opcode;
uint32_t sequence;
@@ -1582,6 +1588,22 @@ void ManagementAgent::SchemaClassKey::mapDecode(const qpid::messaging::Variant::
}
}
+void ManagementAgent::SchemaClassKey::encode(qpid::framing::Buffer& buffer) const {
+ buffer.checkAvailable(encodedBufSize());
+ buffer.putShortString(name);
+ buffer.putBin128(hash);
+}
+
+void ManagementAgent::SchemaClassKey::decode(qpid::framing::Buffer& buffer) {
+ buffer.checkAvailable(encodedBufSize());
+ buffer.getShortString(name);
+ buffer.getBin128(hash);
+}
+
+uint32_t ManagementAgent::SchemaClassKey::encodedBufSize() const {
+ return 1 + name.size() + 16 /* bin128 */;
+}
+
void ManagementAgent::SchemaClass::mapEncode(qpid::messaging::Variant::Map& _map) const {
_map["_type"] = kind;
_map["_pending_sequence"] = pendingSequence;
diff --git a/qpid/cpp/src/qpid/management/ManagementAgent.h b/qpid/cpp/src/qpid/management/ManagementAgent.h
index fc1fb4aa29..8c5ee4475f 100644
--- a/qpid/cpp/src/qpid/management/ManagementAgent.h
+++ b/qpid/cpp/src/qpid/management/ManagementAgent.h
@@ -177,6 +177,9 @@ private:
void mapEncode(qpid::messaging::Variant::Map& _map) const;
void mapDecode(const qpid::messaging::Variant::Map& _map);
+ void encode(framing::Buffer& buffer) const;
+ void decode(framing::Buffer& buffer);
+ uint32_t encodedBufSize() const;
};
struct SchemaClassKeyComp