shortname | name | status | editor |
---|---|---|---|
5/DOOCS |
DOOCS Message Standard |
raw |
Alexander Nozik (nozik.aa@mipt.ru) |
Copyright (c) 2020 Waltz-Controls.
This Specification is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This Specification is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.
This Specification is a free and open standard and is governed by the Digital Standards Organization's Consensus-Oriented Specification System.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
The core feature of Waltz-Controls is ability to exchange messages beetween a number of upstream controls systems, as well as 3rd party components and GUIs in general refered as endpoints. Therefore the main idea to keep in mind when designing this message specification is the following: when a field is related to a message routing or processing it goes to the upper level, otherwise i.e. when a field is an endpoint specific it goes into payload.
Describe standard message for DOOCS within Waltz-Controls eco-system
General structure of the DOOCS payload looks like as following (optional fields are in square brackets):
{
"action":"get|set",
"eq_address": "string",
"eq_data": {
"type_id": "int",
"type": "[string]",
"value": "object|value",
"event_id": "[int]",
"error": "[int]",
"time": "[long]",
"comment": "[string]"
}
}
eq_address
- String representation of EqAddress classeq_data
- json representation of EqData content. Could be omitted for get operations.type_id
- numeric constant corresponding to DOOCSEqData
type code.type
- optional string representation of DOOCSEqData
type. Used only for human readability.value
- an object or value representing data in the message.event_id
- DOOCSEventId
if presenterror
- DOOCS error code if presenttime
- DOOCS timestamp if presentcomment
- a human-readable debug message. Is not passed to DOOCS