lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.federated.serialization.FedSerialization Interface Reference

Interface to enable support for automatic data serialization in target code. More...

Inherited by org.lflang.federated.serialization.FedCustomPythonSerialization, org.lflang.federated.serialization.FedNativePythonSerialization, and org.lflang.federated.serialization.FedROS2CPPSerialization.

Public Member Functions

StringBuilder generateCompilerExtensionForSupport ()
StringBuilder generateNetworkDeserializerCode (String varName, String targetType)
 Generate code in target language that deserializes 'varName'.
StringBuilder generateNetworkSerializerCode (String varName, String originalType)
 Generate code in target language that serializes 'varName'.
StringBuilder generatePreambleForSupport ()
boolean isCompatible (GeneratorBase generator)
 Check whether the current generator is compatible with the given serialization technique or not.
String serializedBufferLength ()
String serializedBufferVar ()

Static Public Attributes

static final String deserializedVarName = "deserialized_message"
 Variable name in the target language for the deserialized data.
static final String serializedVarName = "serialized_message"
 Variable name in the target language for the serialized data.

Detailed Description

Interface to enable support for automatic data serialization in target code.

Author
Soroush Bateni

Member Function Documentation

◆ generateCompilerExtensionForSupport()

StringBuilder org.lflang.federated.serialization.FedSerialization.generateCompilerExtensionForSupport ( )
Returns
Code that should be appended to the compiler instructions (e.g., flags to gcc or additional lines to a CMakeLists.txt) to enable support for the current serializer.

Implemented in org.lflang.federated.serialization.FedCustomPythonSerialization, org.lflang.federated.serialization.FedNativePythonSerialization, and org.lflang.federated.serialization.FedROS2CPPSerialization.

◆ generateNetworkDeserializerCode()

StringBuilder org.lflang.federated.serialization.FedSerialization.generateNetworkDeserializerCode ( String varName,
String targetType )

Generate code in target language that deserializes 'varName'.

This code will convert the data in 'varName' from an unsigned byte array into the 'targetType'. The deserialized data will be put in a variable with the name defined by

See also
deserializedVarName.
Parameters
varNameThe variable to deserialize.
targetTypeThe type to deserialize into.
Returns
Target code that deserializes 'varName' from an unsigned byte array to 'type'.

Implemented in org.lflang.federated.serialization.FedCustomPythonSerialization, org.lflang.federated.serialization.FedNativePythonSerialization, and org.lflang.federated.serialization.FedROS2CPPSerialization.

◆ generateNetworkSerializerCode()

StringBuilder org.lflang.federated.serialization.FedSerialization.generateNetworkSerializerCode ( String varName,
String originalType )

Generate code in target language that serializes 'varName'.

This code will convert the data in 'varName' from its 'originalType' into an unsigned byte array. The serialized data will be put in a variable with the name defined by

See also
serializedVarName.
Parameters
varNameThe variable to be serialized.
originalTypeThe original type of the variable.
Returns
Target code that serializes the 'varName' from 'type' to an unsigned byte array.

Implemented in org.lflang.federated.serialization.FedCustomPythonSerialization, org.lflang.federated.serialization.FedNativePythonSerialization, and org.lflang.federated.serialization.FedROS2CPPSerialization.

◆ generatePreambleForSupport()

StringBuilder org.lflang.federated.serialization.FedSerialization.generatePreambleForSupport ( )
Returns
Code in target language that includes all the necessary preamble to enable support for the current serializer.

Implemented in org.lflang.federated.serialization.FedCustomPythonSerialization, org.lflang.federated.serialization.FedNativePythonSerialization, and org.lflang.federated.serialization.FedROS2CPPSerialization.

◆ isCompatible()

boolean org.lflang.federated.serialization.FedSerialization.isCompatible ( GeneratorBase generator)

Check whether the current generator is compatible with the given serialization technique or not.

Parameters
generatorThe current generator.
Returns
true if compatible, false if not.

Implemented in org.lflang.federated.serialization.FedCustomPythonSerialization, org.lflang.federated.serialization.FedNativePythonSerialization, and org.lflang.federated.serialization.FedROS2CPPSerialization.

◆ serializedBufferLength()

String org.lflang.federated.serialization.FedSerialization.serializedBufferLength ( )

◆ serializedBufferVar()

String org.lflang.federated.serialization.FedSerialization.serializedBufferVar ( )

Member Data Documentation

◆ deserializedVarName

final String org.lflang.federated.serialization.FedSerialization.deserializedVarName = "deserialized_message"
static

Variable name in the target language for the deserialized data.

◆ serializedVarName

final String org.lflang.federated.serialization.FedSerialization.serializedVarName = "serialized_message"
static

Variable name in the target language for the serialized data.


The documentation for this interface was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/main/java/org/lflang/federated/serialization/FedSerialization.java