io.warp10:warp10-ext-protobuf
Installation
$ wf g -w /path/to/warp10 io.warp10 warp10-ext-protobuf
/path/to/warp10/
is where Warp 10 is physically located.
Readme
Protocol Buffers support in WarpScript
This extension adds the possibility from within WarpScript to serialize and deserialize data using the Protocol Buffers format.
The traditional workflow when working with Procotol Buffers is to generate code for your target language using a .proto
file as input. Then within your application the generated structure can be manipulated and a set of utility classes can be used to perform serialization and deserialization.
The approach adopted in WarpScript is similar except the code generation step has been removed. Instead the function PROTOC
can be used to generate an internal WarpScript structure that can be fed as input to serialization (->PB
) and deserialization (PB->
) functions. This approach renders the use of Protocol Buffers completely dynamic, enabling runtime generation of serialization/deserialization templates.
To the best of our knowledge this is the first attempt at a fully dynamic use of Protocol Buffers in any data environment. No doubt this feature will have many fans!
Author

SenX
contact@senx.io
Version
1.2.2-uberjar
Type
Extension
Last published
2021-05-21
License
Apache-2.0
Repository
Path | Size | Creation time |
---|---|---|
->PB | 1493 bytes | 2021-05-18 |
PB-> | 1583 bytes | 2021-05-18 |
PBDUMP | 1127 bytes | 2021-05-18 |
PBTYPES | 1173 bytes | 2021-05-18 |
PROTOC | 2022 bytes | 2021-05-18 |
Configuration
//
Configuration template
//
Describe here the typical configuration needed to enable
and use the module.
//
This includes configuration primitives for the module itself
or for provided macros.
//
This configuration file is used by the wf tool for documenting
your module on the WarpFleetâ„¢ site.
//
warpscript.extension.protobuf = io.warp10.ext.protobuf.ProtobufWarpScriptExtension
Set to true to enable the protobuf value encoder. When enabled, values with
the following syntax can be pushed:
//
:pb:MACRO:MAP
//
Where MACRO is a macro returning a PROTODESC (resulting from a call to PBTYPE)
MAP is a WarpScript MAP defining the content to serialize.
#protobuf.value.encoder = trueVersions | Published |
---|---|
1.2.2-uberjar | 2021-05-21 |