Skip to content
82 changes: 82 additions & 0 deletions bindings/ros2/0.1.0/operation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"type": "object",
"description": "This object contains information about the operation representation in ROS 2.",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json"
}
},
"required": [
"role",
"node"
],
"properties": {
"role": {
"type": "string",
"description": "Specifies the ROS 2 type of the node for this operation.",
"enum": ["publisher", "action_client", "service_client", "subscriber", "action_server", "service_server"]
},
"node": {
"type": "string",
"description": "The name of the ROS 2 node that implements this operation."
},
"qosPolicies": {
"type": "object",
"properties": {
"reliability": {
"type": "string",
"description": "Specifies the communication guarantee model that determines whether message delivery confirmation between publisher and subscriber is required.",
"enum": ["best_effort", "realiable"]
},
"history": {
"type": "string",
"description": "Policy parameter that defines the maximum number of samples maintained in the middleware queue",
"enum": ["keep_last", "keep_all", "unknown"]
},
"durability": {
"type": "string",
"description": "Persistence specification that determines message availability for late-joining subscribers",
"enum": ["transient_local", "volatile"]
},
"lifespan": {
"type": "integer",
"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."
},
"deadline": {
"type": "integer",
"description": "The expected maximum amount of time between subsequent messages being published to a topic. -1 means infinite."
},
"liveliness": {
"type": "string",
"description": "Defines the mechanism by which the system monitors and determines the operational status of communication entities within the network.",
"enum": ["automatic", "manual"]
},
"leaseDuration": {
"type": "integer",
"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."
}
}
},
"bindingVersion": {
"type": "string",
"enum": [
"0.1.0"
],
"description": "The version of this binding. If omitted, 'latest' MUST be assumed."
}
},
"examples": {
"role": "subscriber",
"node": "/turtlesim",
"qosPolicies": {
"history": "unknown",
"reliability": "reliable",
"durability": "volatile",
"lifespan": "-1",
"deadline": "-1",
"liveliness": "automatic",
"leaseDuration": "-1"
}
}
}
33 changes: 33 additions & 0 deletions bindings/ros2/0.1.0/server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"type": "object",
"description": "This object contains information about the server representation in ROS 2.",
"required": ["host", "protocol"],
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json"
}
},
"properties": {
"rmwImplementation": {
"type": "string",
"description": "Specifies the ROS 2 middleware implementation to be used. This determines the underlying middleware implementation that handles communication."
},
"domainId": {
"type": "integer",
"minimum": 0,
"maximum": 231,
"description": "All ROS 2 nodes use domain ID 0 by default. To prevent interference between different groups of computers running ROS 2 on the same network, a group can be set with a unique domain ID."
},
"bindingVersion": {
"type": "string",
"enum": [
"0.1.0"
],
"description": "The version of this binding. If omitted, 'latest' MUST be assumed."
}
},
"examples": {
"rmwImplementation": "rmw_fastrtps_cpp",
"domainId": "0"
}
}
Loading