Difference between revisions of "Technologies"
(Gather useful tools that were developed for criu and could be used in other projects.) |
|||
Line 17: | Line 17: | ||
It is also worth noting, that we have a unique number for all kinds of custom protobuf options(see [[Images#Notes_about_protobuf]]), so you don't have to worry that it might collide with others. | It is also worth noting, that we have a unique number for all kinds of custom protobuf options(see [[Images#Notes_about_protobuf]]), so you don't have to worry that it might collide with others. | ||
+ | |||
+ | [[Category:Development]] | ||
+ | [[Category:Under the hood]] |
Revision as of 09:29, 10 February 2015
This page contains a list of tools that were developed for criu and which others might want to use in their projects. These tools are being still maintained, unlike their alternatives. Some of them are not formatted as a separate project(still could be just used,i.e. python modules), but feel free to ask us to distinguish them.
Compel
An utility to execute code in foreign process address space. It is based on the same technology we use in CRIU to obtain some process-private data on dump.
pb2dict.py
A Python module to convert google protocol buffers to json and back.
Unlike other projects to convert pb to python dict or json, our pb2dict does treat optional fields with empty repeated inside properly. It includes special support for custom field options to mark those needed to be treated in a special way. For example, you could include our opts.proto in your proto-file and use criu.* options to mark your fields, i.e.:
required uint64 blk_sigset = 5[(criu).hex = true];
See more examples in our protobuf/*.proto files.
It is also worth noting, that we have a unique number for all kinds of custom protobuf options(see Images#Notes_about_protobuf), so you don't have to worry that it might collide with others.