You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2010/03/02 22:21:13 UTC

svn commit: r918184 - in /qpid/trunk/qpid/extras/qmf/src/py/qmf2: agent.py common.py console.py

Author: kgiusti
Date: Tue Mar  2 21:21:13 2010
New Revision: 918184

URL: http://svn.apache.org/viewvc?rev=918184&view=rev
Log:
QPID-2261: fix agent indication heartbeat generation and handling.

Modified:
    qpid/trunk/qpid/extras/qmf/src/py/qmf2/agent.py
    qpid/trunk/qpid/extras/qmf/src/py/qmf2/common.py
    qpid/trunk/qpid/extras/qmf/src/py/qmf2/console.py

Modified: qpid/trunk/qpid/extras/qmf/src/py/qmf2/agent.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/qmf/src/py/qmf2/agent.py?rev=918184&r1=918183&r2=918184&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/qmf/src/py/qmf2/agent.py (original)
+++ qpid/trunk/qpid/extras/qmf/src/py/qmf2/agent.py Tue Mar  2 21:21:13 2010
@@ -541,8 +541,8 @@
         """
         Create an agent indication message body identifying this agent
         """
-        return {"_name": self.get_name(),
-                "_schema_timestamp": self._schema_timestamp}
+        return QmfData.create({"_name": self.get_name(),
+                              "_schema_timestamp": self._schema_timestamp}).map_encode()
 
     def _send_reply(self, msg, reply_to):
         """

Modified: qpid/trunk/qpid/extras/qmf/src/py/qmf2/common.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/qmf/src/py/qmf2/common.py?rev=918184&r1=918183&r2=918184&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/qmf/src/py/qmf2/common.py (original)
+++ qpid/trunk/qpid/extras/qmf/src/py/qmf2/common.py Tue Mar  2 21:21:13 2010
@@ -373,9 +373,6 @@
             _utime = long(_map.get(self.KEY_UPDATE_TS, _utime))
             _dtime = long(_map.get(self.KEY_DELETE_TS, _dtime))
 
-        if _object_id is None:
-            raise Exception("An object_id must be provided.")
-
         self._values = _values.copy()
         self._subtypes = _subtypes.copy()
         self._tag = _tag

Modified: qpid/trunk/qpid/extras/qmf/src/py/qmf2/console.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/qmf/src/py/qmf2/console.py?rev=918184&r1=918183&r2=918184&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/qmf/src/py/qmf2/console.py (original)
+++ qpid/trunk/qpid/extras/qmf/src/py/qmf2/console.py Tue Mar  2 21:21:13 2010
@@ -1220,12 +1220,10 @@
                       properties={"method":"request",
                                   "qmf.opcode":OpCode.agent_locate_req},
                       content=query._predicate)
+        msg.content_type="amqp/list"
         msg.reply_to = str(self._address)
         msg.correlation_id = str(cid)
-        trace.debug("Sending Agent Locate (%s)" % time.time())
-        # TRACE
-        #log.error("!!! Console %s sending agent locate (%s)" % 
-        # (self._name, str(msg)))
+        trace.debug("%s Sending Agent Locate (%s)", self._name, str(msg))
         try:
             self._topic_sender.send(msg)
         except SendError, e:
@@ -1685,16 +1683,20 @@
         Process a received agent-ind message.  This message may be a response to a
         agent-locate, or it can be an unsolicited agent announce.
         """
-        trace.debug("_handle_agent_ind_msg '%s' (%s)" % (msg, time.time()))
 
-        ai_map = msg.content
-        if not ai_map or not isinstance(ai_map, type({})):
-            log.warning("Bad agent-ind message received: '%s'" % msg)
+        trace.debug("%s _handle_agent_ind_msg '%s'", self._name, str(msg))
+
+        try:
+            tmp = QmfData.from_map(msg.content)
+        except:
+            log.warning("%s invalid Agent Indication msg format '%s'",
+                        self._name, str(msg))
             return
-        name = ai_map.get("_name")
-        if not name:
-            log.warning("Bad agent-ind message received: agent name missing"
-                            " '%s'" % msg)
+
+        try:
+            name = tmp.get_value("_name")
+        except:
+            log.warning("Bad Agent ind msg received: %s", str(msg))
             return
 
         correlated = False
@@ -1716,7 +1718,6 @@
             # need to create and add a new agent?
             matched = False
             if self._agent_discovery_filter:
-                tmp = QmfData.create(values=ai_map, _object_id="agent-filter")
                 matched = self._agent_discovery_filter.evaluate(tmp)
 
             if (correlated or matched):



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org