# DragonFly Projects This is an off-shoot of the main [[ProjectsPage|docs/developer/ProjectsPage]] intended to house more bizarre projects and concepts. It should be noted that if you decide to implement one of these projects, even if you do an amazing job, it is entirely likely that it will never be committed to the main source repository. If you intend your work to be committed, please discuss your plans with the DragonFly community at large on the public mailing lists before you make a significant investment in your work. Please feel free to add projects to this page, or annotate existing project ideas with your own thoughts. [[!toc levels=3 ]] ## Kernel projects ### Code generation hooks in the build system * Well defined kernel build mechanisms for code generation * This will require discussion ### On-disk / Over-the-wire structure codegen * Somewhat analogous to google protocol buffers / etc. * Take a normalized definition of data, metadata, an operation and generate a structure, serialization routines and accessor routines for it/them * Must be able to generate structs binary compatible with existing on-disk formats (including warts) * Should magically create formats that are 32/64bit agnostic OR fixup serializers/unserializers * Accessor routines and thread safety? Do we make you hang these objects somewhere that you store your synchronization objects or allow you to include them? * Versioning? * Potential uses: ... HAMMER, UFS, HAMMER mirror streams, message passing, ... * QUESTIONS: Would people actually use them? ### Asynchronous system call framework * Probably best implemented as a message passing interface to kernel pass messages in, threads pick them up and execute, return through kevent notifications * Would require a well-considered proposal ### Kernel VIRTUAL MACHINE * opcode vm in kernel for various purposes? What could be accomplished with this?