Here an example of what Julian started doing:
https://github.com/apache/plc4x/blob/feature/plc4rs/protocols/tsfile/src/main/resources/protocols/tsfile/tsfile.mspec

Chris

Von: Christofer Dutz <[email protected]>
Datum: Montag, 8. Januar 2024 um 09:20
An: [email protected] <[email protected]>
Betreff: [DISCUSS] TsFile implementations in other languages?
Hi all,

as it recently came up on the IoTDB project list, I would like to bring up the 
question here, how we are planning on providing TsFile in multiple Languages.

I guess in general there are two options:

  *   Mono-Repo (like in PLC4X) where one build builds the various 
implementations.
  *   One repo for each language.

Both have their advantages and disadvantages.

Pro Mono-Repo:

  *   Projects are better aligned.
  *   One build to maintain
  *   One release to vote on
Con Mono-Repo:

  *   Maintaining the build is harder

Pro Multi-Repo:

  *   Simpler to setup
Con Mono-Repo:

  *   Might be more challenging to keep all repos aligned.
  *   Releases of all languages challenging
     *   Either only some modules are released at at time.
     *   Or RM needs to maintain a system that releases all types.
     *   Multiple ways to release the various element.
  *   One release vote per supported Language (Or the validation, checking of 
signatures and hashes, RAT etc. for each language)

I think we could borrow a lot from what we currently have in PLC4X, as we 
wouldn’t have to re-invent the wheel. At least, we already have everything we 
would need for:

  *   Java
  *   C
  *   C++
  *   Python
  *   C#
  *   Go
  *   Rust

And another thing Julian (Feinauer) was working on: Using the PLC4X 
code-generation to produce TsFile parsers/serialisers in all languages 
supported by PLC4X (However I don’t quite know how far his work progressed)

If we had a formal specification of the TsFile format and we could generate the 
clients in various languages from that, I think this would be a HUGE benefit 
for the project, as we could ensure the libraries are more aligned.

So … enough texting … now I would love to hear your thoughts on this :-)

Chris

Reply via email to