GSoC Idea: Tcl Binding to Thrift

Tcl Binding to Thrift

Areas (De)serialization, RPC
Good if student knows Tcl, C
Priority Medium to Low
Difficulty Medium to High
Benefits to the student Learning about data serialization, the challenges therein.
Benefits to Tcl Enhanced ability to exchange data with other languages
Mentor AK
Related Project Ideas GSoC Idea: Tcl Binding to Protocol Buffers
GSoC Idea: Tcl Binding to MessagePack
GSoC Idea: Updated Tcl bindings for ZeroMQ
GSoC Idea: Common (De)Serialization Infrastructure

Project Description

Thrift is an Apache framework (donated to it by FaceBook IIRC) for, I quote "scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between" various languages. Which means that there is a serialization data format underneath, and an interface description language (IDL) by its side.

The aim of this project is to provide a binding of Thrift to Tcl, i.e. a package which can convert between Tcl data structures and protocol buffers, in whole, and incremental (when reading from streams, like sockets, or pipes).

This binding will likely consist of two layers, the "runtime", so to speak, for handling any Thrift packet, and a second layer which is code generated from a Thrift IDL to handle a specific set of buffers.

This second part will require either some sort of plugin for the Apache's Thrift IDL compiler, or our own parser and translator for Thrift IDL.

For this Tcllib's parsetools might be suitable, or other parser generators for Tcl (...).

Students doing this project should consider coordinating with any student doing the related projects as there is potential for common infrastructure between these projects.

Requirements:

  • ...
  • ...