{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.omg.org/spec/DDS-JSON/20190601/dds-json_data_samples.schema", "title": "DDS-JSON: Building Block Data Samples", "description": "This schema defines the syntax to represent DDS Data Samples and Sample Information.", "definitions": { "boolean": { "type": "boolean" }, "byte": { "type": "integer", "minimum": 0, "maximum": 255 }, "int8": { "type": "integer", "minimum": -127, "maximum": 128 }, "uint8": { "type": "integer", "minimum": 0, "maximum": 255 }, "int16": { "type": "integer", "minimum": -32768, "maximum": 32767 }, "uint16": { "type": "integer", "minimum": 0, "maximum": 65535 }, "int32": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "uint32": { "type": "integer", "minimum": 0, "maximum": 4294967295 }, "int64": { "oneOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "string" } ] }, "uint64": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "float32": { "type": "number" }, "float64": { "type": "number" }, "float128": { "type": "string" }, "char8": { "type": "string" }, "char16": { "type": "string" }, "string": { "type": "string" }, "wstring": { "type": "string" }, "bitmask": { "type": "integer" }, "time": { "properties": { "sec": { "type": "integer", "minimum": 0 }, "nanosec": { "type": "integer", "maximum": 1000000000 } } }, "instanceHandle": { "type": "string" }, "instanceStateKind": { "type": "string", "enum": [ "ALIVE", "NOT_ALIVE_DISPOSED", "NOT_ALIVE_NO_WRITERS" ] }, "sampleStateKind": { "type": "string", "enum": [ "READ", "NOT_READ" ] }, "viewStateKind": { "type": "string", "enum": [ "NEW", "NOT_NEW" ] }, "sampleInfo": { "properties": { "source_timestamp": { "$ref": "#/definitions/time" }, "valid_data": { "type": "boolean" }, "instance_handle": { "$ref": "#/definitions/instanceHandle" }, "publication_handle": { "$ref": "#/definitions/instanceHandle" }, "instance_state": { "$ref": "#/definitions/instanceStateKind" }, "sample_state": { "$ref": "#/definitions/sampleStateKind" }, "view_state": { "$ref": "#/definitions/viewStateKind" }, "disposed_generation_count": { "$ref": "#/definitions/int32" }, "no_writers_generation_count": { "$ref": "#/definitions/int32" }, "sample_rank": { "$ref": "#/definitions/int32" }, "generation_rank": { "$ref": "#/definitions/int32" }, "absolute_generation_rank": { "$ref": "#/definitions/int32" } } }, "sampleData": { "type": "object" }, "sampleType": { "properties": { "info": { "$ref": "#/definitions/sampleInfo" }, "data": { "$ref": "#/definitions/sampleData" } } }, "sampleSeq": { "type": "array", "items": { "$ref": "#/definitions/sampleType" }, "additionalItems": false } }, "$ref": "#/definitions/sampleType" }