Skip to main content

Type Support & Conversions

All data flowing between functions within the Flows system are strongly typed. When connecting backward input and output ports together, connections can only be made between ports with compatible types.

Types​

Below are all types that are currently supported by the flow system.

Boolean Types​

boolEither true or false.

Number Types​

int8Number between -128 to 127.
int16Number between -32,768 to 32,767.
int32Number between -2,147,483,648 to 2,147,483,647.
int64Number between -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
uint8Number between 0 to 255.
uint16Number between 0 to 65,535.
uint32Number between 0 to 4,294,967,295.
uint64Number between 0 to 18,446,744,073,709,551,615.
float32Number that meets the IEEE-754 32-bit floating-point numbers specification.
float64Number that meets the IEEE-754 64-bit floating-point numbers specification.

String Types​

stringAn arbitrary sequence of characters.
JSONStringA string containing JSON.

Array Types​

[]interface{}Array of any type.
[]stringArray of strings.
[]TelemetryMessageArray of telemetry messages.
[]CommandResponseArray of command responses.
[]CallableResponseArray of callable responses.
[]ControlAckArray of control acknowledgments.

Map Types​

map[string]interface{}Collection of string keys with values of any type.
map[string]stringCollection of string keys with string values.

Duration Types​

DurationA duration represents a period of time.

URI Types​

RocosURIA special type of URI used by the Rocos Agent.

Composite Types​

TelemetryMessageRepresents a telemetry message.
CommandResponseA response to the execution of a command.
CallableResponseA response to a service request.
ControlAckA response to a control message.
PayloadValue
TransformRepresents the position and orientation.
Marker

Any Types​

interface{}This is a special type that can hold any other type.

Conversions​

The matrix below shows all types currently supported and the conversions from each type to all other types.