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