@asyncapi/specs
Version:
AsyncAPI schema versions
89 lines (88 loc) • 3.23 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://asyncapi.com/bindings/ros2/0.1.0/operation.json",
"description": "This object contains information about the operation representation in ROS 2.",
"examples": [
{
"node": "/turtlesim",
"qosPolicies": {
"deadline": "-1",
"durability": "volatile",
"history": "unknown",
"leaseDuration": "-1",
"lifespan": "-1",
"liveliness": "automatic",
"reliability": "reliable"
},
"role": "subscriber"
}
],
"type": "object",
"required": [ "role", "node" ],
"properties": {
"bindingVersion": {
"description": "The version of this binding. If omitted, 'latest' MUST be assumed.",
"type": "string",
"enum": [ "0.1.0" ]
},
"node": {
"description": "The name of the ROS 2 node that implements this operation.",
"type": "string"
},
"qosPolicies": {
"type": "object",
"properties": {
"deadline": {
"description": "The expected maximum amount of time between subsequent messages being published to a topic. -1 means infinite.",
"type": "integer"
},
"durability": {
"description": "Persistence specification that determines message availability for late-joining subscribers",
"type": "string",
"enum": [ "transient_local", "volatile" ]
},
"history": {
"description": "Policy parameter that defines the maximum number of samples maintained in the middleware queue",
"type": "string",
"enum": [ "keep_last", "keep_all", "unknown" ]
},
"leaseDuration": {
"description": "The maximum period of time a publisher has to indicate that it is alive before the system considers it to have lost liveliness. -1 means infinite.",
"type": "integer"
},
"lifespan": {
"description": "The maximum amount of time between the publishing and the reception of a message without the message being considered stale or expired. -1 means infinite.",
"type": "integer"
},
"liveliness": {
"description": "Defines the mechanism by which the system monitors and determines the operational status of communication entities within the network.",
"type": "string",
"enum": [ "automatic", "manual" ]
},
"reliability": {
"description": "Specifies the communication guarantee model that determines whether message delivery confirmation between publisher and subscriber is required.",
"type": "string",
"enum": [ "best_effort", "realiable" ]
}
}
},
"role": {
"description": "Specifies the ROS 2 type of the node for this operation.",
"type": "string",
"enum": [
"publisher",
"action_client",
"service_client",
"subscriber",
"action_server",
"service_server"
]
}
},
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/3.1.0/specificationExtension.json"
}
},
"additionalProperties": false
}