QMF Map Message ProtocolPage edited by Ken GiustiQMFv2 Map Message ProtocolIntroductionThis document describes the design of a proposed protocol for QMF based on map-messages (offered by the new C++ and Python APIs as well as the existing JMS API). If adopted, this new protocol will change the formats of the messages used by QMF components to communicate. It will also change some of the message exchange patterns. It will not significantly impact the console and agent APIs and is intended to operate with applications that use the current QMF APIs. Some highlights of the new design:
QMF ProtocolUse of Message HeadersStandard Message Properties
Custom Application Headers
QMF OpCodes
QMF Content Types
Message Body Map FormatsSCHEMA_IDSCHEMA_ID := { _package_name: STRING, _class_name: STRING, _type: _data | _event, _hash_str: STRING }
SCHEMA_CLASSSCHEMA_CLASS := { _schema_id: SCHEMA_ID, _values: { EACH_ATTR_NAME: SCHEMA_PROPERTY | SCHEMA_METHOD }, _subtypes: { EACH_ATTR_NAME: qmfProperty | qmfMethod } }
SCHEMA_PROPERTYSCHEMA_PROPERTY := { _type: QMF_TYPE, _access: RO | RC | RW, _unit: STRING, _min: NUMBER, _max: NUMBER, _maxlen: NUMBER, _dir: I | O | IO, _desc: STRING, _references: SCHEMA_ID, _subtype: QMF_SUBTYPE }
QMF_TYPEQMF_TYPE := TYPE_VOID | TYPE_BOOL | TYPE_INT | TYPE_FLOAT | TYPE_STRING | TYPE_MAP | TYPE_LIST | TYPE_UUID QMF_SUBTYPEQMF_SUBTYPE := reference | url | timestamp | duration SCHEMA_METHODSCHEMA_METHOD := { _desc: STRING, _arguments: { EACH_ARG_NAME: SCHEMA_PROPERTY } }
QMF_METHOD_CALLQMF_METHOD_CALL := { _object_id: OBJECT_ID, _method_name: STRING, _arguments: { EACH_KEY: VALUE }, _subtypes: { EACH_KEY: STRING } }
QMF_METHOD_RESULTQMF_METHOD_RESULT := { _exception: QMF_DATA, _arguments: { EACH_KEY: VALUE }, _subtypes: { EACH_KEY: STRING } }
QMF_DATAQMF_DATA := { _schema_id: SCHEMA_ID, _object_id: OBJECT_ID, _values: { EACH_KEY: VALUE }, _subtypes: { EACH_KEY: STRING } }
OBJECT_IDOBJECT_ID := { _agent_name: STRING, _object_name: STRING, _schema_id: SCHEMA_ID }
QMF_QUERYQMF_QUERY := { _what: QMF_CONTENT_TYPE, _where: QMF_QUERY_PREDICATE }
QMF_SUBSCRIBEQMF_SUBSCRIBE := { _query: QMF_QUERY, _duration: NUMBER, _interval: NUMBER }
QMF_SUBSCRIPTIONQMF_SUBSCRIPTION := { _subscription_id: STRING, _duration: NUMBER, _interval: NUMBER, _error: QMF_DATA } (noformat} || Field || Optional || Description || | \_subscription_id | yes | Assigned by the Agent when replying to a successful subscription request. Must be supplied by the Console when sending a subscription refresh or cancel to the Agent for this subscription. Should the request fail, the Agent should not supply this field, and may set the _error field.| | \_duration | no | The time (in seconds) after which this subscription will be automatically canceled.| | \_interval | no | The time (in milliseconds) between periodic updates of data in this subscription.| | \_error | yes | Set by the Agent in response to a failed subscription or refresh request. Contains error information indicating why the subscription request or refresh failed.| h4. QMF_SUBSCRIPTION_ID QMF_SUBSCRIPTION_ID := Unknown macro: { _subscription_id} (noformat}
Change Notification Preferences
View Online
|
View Change
|
Add Comment
|
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence
- [CONF] Apache Qpid > QMF Map Message Protocol confluence