Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

qmf.opcode field

Message Body Data Type

Sent By

Sent To

Description

_exception

QMF_DATA

Agent

reply-to

This general-purpose message can be sent by an agent in response to any request (query, subscription, method) if the request could not be completed for any reason. The QMF_DATA in the message body contains details of why the failure occurred.

_agent_locate_request

QMF_QUERY_PREDICATE

Console

QMF Topic

A console may send an agent-locate-request in order to reach all available agents. The predicate may be used to limit the set of agents that will respond to the request.

_agent_locate_response

QMF_DATA

Agent

reply-to

This is a response to an agent-locate-request. An agent will send an agent-locate-response if it received an agent-locate-request with a predicate that matches its characteristics.

_agent_heartbeat_indication

QMF_DATA

Agent

Topic

Each agent periodically sends a heartbeat message to a topic to indicate that it is alive and connected. The content of the heartbeat message is the list of the agent's characteristics.

_query_request

defined by qmf.content (either QMF_QUERY or QMF_V1_QUERY)

Console

Agent

A console sends a query to an agent to request that the agent send data to the requester.

_query_response

List of <qmf.content>

Agent

reply-to

The response to a query sent by a console.

_subscribe_request

QMF_SUBSCRIBE

Console

Agent

A console sends a subscribe-request to an agent to receive data matched by a query. A subscription differs from a query request in that it continues to send updated information to the console when the data changes.

_subscribe_response

QMF_SUBSCRIPTION

Agent

reply-to

When an agent receives a subscribe-request, it sends a subscribe-response granting (or refusing) the subscription.  Should the subscription succeed, the response will contain an identifier for the subscription assigned by the Agent. Thereafter, it will send data-indication messages on the same correlation-id with updates when they happen or periodically.  The first data-indication message sent by the agent will contain all matching data, subsequent data-indications will contain only those matching data that has changed since the last update.

_subscribe_cancel_indication

QMF_SUBSCRIPTION_ID

Console

Agent

A console can request that a subscription it created be immediately cancelled. This message must have the same correlation-id as the original request, and contain the subscription identifier as assigned by the Agent.

_subscribe_refresh_indication

QMF_SUBSCRIPTION_ID

Console

Agent

A console can keep a subscription alive by periodically refreshing it by sending a subscribe-refresh-indication. This message must have the same correlation-id as the original request, and contain the subscription identifier as assigned by the Agent.

_data_indication

List of <qmf.content>

Agent

reply-to or topic

A data indication is sent by an Agent when 1) subscription data has changed and needs to be published, 2) an event has occurred and event data is being published, and 3) any other time an agent wants to send unsolicited data.

_method_request

QMF_METHOD_CALL

Console

Agent

A console may invoke a method on an object managed by an agent. It may also invoke a method directly on the agent if appropriate. This message contains the method call including the input arguments.

_method_response

QMF_METHOD_RESULT

Agent

reply-to

A method call always results in a single method result. This message carries either the output arguments from a successful method call or it holds an exception to describe a failure.

...

_schema_package

qmf.content field

Data Type

Description

STRING

Schema package name

_schema_id

SCHEMA_ID

Schema class identifier

_schema_class

SCHEMA_CLASS

Schema class definition

_object_id

OBJECT_ID

Managed object identifier

_data

QMF_DATA

Data, managed and/or described or free-form

_event

QMF_EVENT

Event

_query

QMF_QUERY

QMFv2 Query

_query _v1

QMF_V1_QUERY

Query map from the QMFv1 Specification

Message Body Map Formats

SCHEMA_ID

No Format
  SCHEMA_ID := { _package_name: STRING,
                 _class_name:   STRING,
                 _type:         '_data' | '_event',
                 _hash:         UUID
               }

Field

Optional

Description

_package_name

no

Package name (namespace) for the described class

_class_name

no

Name of the described class

_type

no

Class type: data or event

_hash _str

yes

Hash string (uuid) to distinguish different versions of a class

...

No Format
  SCHEMA_CLASS := { _schema_id:        SCHEMA_ID,
                    _valuesdesc:      { EACH_ATTR_NAME: SCHEMA_PROPERTY | SCHEMA_METHOD }       STRING,
                    _default_subtypes:  { EACH_ATTR_NAME: qmfProperty | qmfMethod }
severity: NUMBER,
                    _properties:       [SCHEMA_PROPERTY, ...],
                    }
_methods:          [SCHEMA_METHOD, ...]
                  }

Field

Optional

Description

_schema_id

no

Identifier for this schema class

_values desc

no yes

Map Description of schema attribute names and either their property or method descriptions. The subtype defines whether an attribute is a property or a method. the schema class

_default_severity

yes

Default severity for an event class

_properties

no

List of SCHEMA_PROPERTY elements describing the properties of the class

_methods

no

List of SCHEMA_METHOD elements describing the methods of the class

_subtypes

no

Map of subtype names ('qmfProperty' or 'qmfMethod') for each attribute

SCHEMA_PROPERTY

No Format
  SCHEMA_PROPERTY := { _typename:       QMF_TYPESTRING,
                       _accesstype:     RO | RC | RW QMF_TYPE,
                       _unitindex:       STRINGBOOL,
                       _minaccess:     'RO' |  NUMBER'RC' | 'RW',
                       _maxunit:        NUMBERSTRING,
                       _maxlenmin:        NUMBER,
                       _dirmax:        I | O | IONUMBER,
                       _descmaxlen:       STRINGNUMBER,
                       _referencesdir: SCHEMA_ID        'I' | 'O' | 'IO',
                       _subtypedesc:     QMF_SUBTYPE
  STRING,
                       }

Field

Optional

Description

_type

no

The QMF data type of this property

_access

yes

The remote access rules for this property:
RO => Read Only (default if not specified)
RC => Read Create
RW => Read Write

_unit

yes

Annotation. Units of measure for numeric values

_min

yes

Minimum numeric value

_max

yes

Maximum numeric value

_maxlen

yes

Maximum length of a variable length value (in octets)

_dir

yes

Used only for method arguments. Direction of transfer:
I => Input (caller to callee)
O => Output (callee to caller)
IO => Both

_desc

yes

Annotation. Description of the property

_references

yes

If the type is a reference to another managed object, this field may be used to specify the required class for that object

_subtype

yes

May be used to further specify the meaning of the value of this field. For example, a number may actually be a timestamp or a duration. A string may be a reference to another object, or a URL.

QMF_TYPE

_references: SCHEMA_ID,
                       _subtype:    QMF_SUBTYPE
                     }

Field

Optional

Description

_name

no

The name of the property

_type

no

The QMF data type of this property

_index

yes

True iff this property is an index of an object. Default is False.

_access

yes

The remote access rules for this property:
RO => Read Only (default if not specified)
RC => Read Create
RW => Read Write

_unit

yes

Annotation. Units of measure for numeric values

_min

yes

Minimum numeric value

_max

yes

Maximum numeric value

_maxlen

yes

Maximum length of a variable length value (in octets)

_dir

yes

Used only for method arguments. Direction of transfer:
I => Input (caller to callee)
O => Output (callee to caller)
IO => Both

_desc

yes

Annotation. Description of the property

_references

yes

If the type is a reference to another managed object, this field may be used to specify the required class for that object

_subtype

yes

May be used to further specify the meaning of the value of this field. For example, a number may actually be a timestamp or a duration. A string may be a reference to another object, or a URL.

QMF_TYPE

No Format

  QMF_TYPE := 'TYPE_VOID'   |
              'TYPE_BOOL'   |
              'TYPE_INT'
No Format

  QMF_TYPE := TYPE_VOID   |
              TYPE_BOOL   |
              TYPE_INT    |
              'TYPE_FLOAT'  |
              'TYPE_STRING' |
              'TYPE_MAP'    |
              'TYPE_LIST'   |
              'TYPE_UUID'

QMF_SUBTYPE

No Format
  QMF_SUBTYPE := 'reference' |
                 'url'       |
                 'timestamp' |
                 'duration'

SCHEMA_METHOD

No Format
  SCHEMA_METHOD := { _descname:      STRING,
                     _arguments: { EACH_ARG_NAME: SCHEMA_PROPERTY }desc:      STRING,
                     _arguments: [SCHEMA_PROPERTY, ...]
                   }

Field

Optional

Description

_name

no

The name of the method

_desc

yes

Annotation. Description of this method

_arguments

no

Map List of argument names and SCHEMA_PROPERTY data to describe them elements that describe the method's arguments

QMF_METHOD_CALL

No Format
  QMF_METHOD_CALL := { _object_id:   OBJECT_ID,
                       _method_name: STRING,
                       _arguments:   { EACH_KEY: VALUE },
                       _subtypes:    { EACH_KEY: STRING }
                     }

...

Field

Optional

Description

_agent_name

yes

Name of the agent that is managing the referenced data

_agent_epoch

yes

Numeric epoch of the agent process. This number is managed by the agent and is incremented each time the agent process starts. This field is only present for transient object IDs that must not be the same for a given object across an agent restart. Persistent object IDs must not include this field.

_object_name

no

Name of the data that uniquely identifies the data within the context of the agent (or the context of the schema class, if provided)

...

. Persistent object IDs must not include this field.

_object_name

no

Name of the data that uniquely identifies the data within the context of the agent.

QMF_QUERY

No Format

  QMF_QUERY := { _what:      QMF_QUERY_TARGET,
                 _where:     QMF_QUERY_PREDICATE,
                 _object_id: OBJECT_ID,
                 _schema_id: SCHEMA_ID
               }

Field

Optional

Description

_what

no

Identifies the kind of data being queried

_where

yes

Query predicate to limit the number of results of the query

_object_id

yes

Identifier of a single object being queried

_schema_id

yes

Identifier of a single schema being queried

QMF_QUERY_TARGET

No Format
  QMF_QUERY_TARGET := { _what:  QMF_CONTENT_TYPE,
 'SCHEMA_ID' |
                      'SCHEMA'    |
                      'OBJECT_where: QMF_QUERY_PREDICATEID' |
               }

...

Field

...

Optional

...

Description

...

_what

...

no

...

Identifies the kind of data being queried

       'OBJECT'

QMF_QUERY_PREDICATE

...

_where

...

yes

...

QMF_SUBSCRIBE

No Format
  QMF_SUBSCRIBE := { _query:     QMF_QUERY,
                     _duration:  NUMBER,
                     _interval:  NUMBER
                   }

...