Skip to main content
Jump to: navigation, search

BaSyx / Documentation / VAB / TCP Mapping

< BaSyx ‎ | Documentation ‎ | VAB
Revision as of 10:35, 26 August 2019 by Frank.schnicke.iese.fraunhofer.de (Talk | contribs) (TCP mapping of VAB primitives)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

BaSyx defines a mapping of the VAB primitives to a TCP protocol, called BaSyx Native.

General Frame Format

Each BaSyx Native frame is divided into two fields. These fields define message size and message payload. Due to this, the receiver can create a appropriate sized buffer.

If a message is received with size > Message Length, an error is assumed and the message it is discarded.

Length Field
4 Byte, LSB first Message Length
Variable, as defined in Message Length Message payload

String Encoding

Strings are encoded in the following scheme:

Length Field
4 Byte, LSB first String Length
Variable, as defined in String Length String content, without null termination

Object Encoding

Collections/Maps are serialized to a string as defined in the JSON serialization and send as a string as defined above.

Primitive Mapping

For a detailed description of the primitives, see the VAB documentation.

GET

Request

Length Field Value
1 Byte Command 0x01
<variable> Path to element as string

Response

Length Field
1 Byte Result
<variable> Value serialized as JSON

Currently, the result will always be 0x00 with exceptions encoded in the returned string.


SET

Request

Length Field Value
1 Byte Command 0x02
<variable> Path to element as string
<variable> Value serialized as JSON

Response

Length Field
1 Byte Result
<variable> Value serialized as JSON

Currently, the result will always be 0x00 with exceptions encoded in the returned string.

CREATE

Request

Length Field Value
1 Byte Command 0x03
<variable> Path to element as string
<variable> Value serialized as JSON

Response

Length Field
1 Byte Result
<variable> Value serialized as JSON

Currently, the result will always be 0x00 with exceptions encoded in the returned string.

DELETE

Request

Length Field Value
1 Byte Command 0x04
<variable> Path to element as string

Response

Length Field
1 Byte Result

Currently, the result will always be 0x00 with exceptions encoded in the returned string.

INVOKE

Request

Length Field Value
1 Byte Command 0x05
<variable> Path to operations as string
<variable> Return value serialized as JSON

Response

Length Field
1 Byte Result
<variable> Value serialized as JSON


Currently, the result will always be 0x00 with exceptions encoded in the returned string.

Back to the top