Module Runtime.Packing
Contents
Instructions: Use this module in your project
In the IDE (CLion, Visual Studio Code, Xcode, etc.) you use for your DkSDK project:
Add the following to your project's
dependencies/CMakeLists.txt:DkSDKProject_DeclareAvailable(capnp CONSTRAINT "= 3.5.0" FINDLIBS capnp capnp.unix) DkSDKProject_MakeAvailable(capnp)Add the
Findlib::capnplibrary to any desired targets insrc/*/CMakeLists.txt:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::capnp)Click your IDE's
Buildbutton
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install capnp.3.5.0Edit your
dune-projectand add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (capnp (>= 3.5.0))))Then run:
dune build *.opam # if this fails, run: dune buildEdit your
<package>.opamfile and add:depends: [ # ... existing dependencies ... "capnp" {>= "3.5.0"} ]Then run:
opam install . --deps-only
FINALLY, add the capnp library to any desired (library)and/or (executable) targets in your **/dune files:
(library
(name YourLibrary)
; ... existing library options ...
(libraries
; ... existing libraries ...
capnp))
(executable
(name YourExecutable)
; ... existing executable options ...
(libraries
; ... existing libraries ...
capnp))valcount_zeros : ``start:int->``stop:int->``string->int
typeoutput_buffers_t`` = ``{
output_buf :Stdlib.Buffer.t;
lit_buf :Stdlib.Buffer.t;
tagged_bytes :Stdlib.Bytes.t;}
valpack_loop_words : ``input:string->``ofs:int->``buffers:output_buffers_t->string
valpack_loop_bytes : ``input:string->``ofs:int->``buffers:output_buffers_t->string
valpack_loop_zero_words : ``input:string->``ofs:int->``count:int->``buffers:output_buffers_t->string
valpack_loop_literal_words : ``input:string->``ofs:int->``buffers:output_buffers_t->``count:int->string
valpack_string : ``string->string
Pack a word_aligned string.
valbits_set_lookup : ``int array
valbits_set : ``int->int
moduleMixedContext:sig...end
valtransfer_mixed_bytes : ``unpacked:Capnp__.FragmentBuffer.t->``mixed_context:MixedContext.t->unit
valunpack_coalesce_buffer_and_retry : ``packed:Capnp__.FragmentBuffer.t->``unpacked:Capnp__.FragmentBuffer.t->``buf:string->``ofs:int->``mixed_context:MixedContext.t->``required_byte_count:int->unit
valunpack_zeros : ``packed:Capnp__.FragmentBuffer.t->``unpacked:Capnp__.FragmentBuffer.t->``buf:string->``ofs:int->``mixed_context:MixedContext.t->unit
valunpack_literal_bytes : ``packed:Capnp__.FragmentBuffer.t->``unpacked:Capnp__.FragmentBuffer.t->``buf:string->``ofs:int->``mixed_context:MixedContext.t->unit
valunpack_mixed_bytes : ``packed:Capnp__.FragmentBuffer.t->``unpacked:Capnp__.FragmentBuffer.t->``buf:string->``ofs:int->``mixed_context:MixedContext.t->``tag:char->unit
valunpack_decode_tag : ``packed:Capnp__.FragmentBuffer.t->``unpacked:Capnp__.FragmentBuffer.t->``buf:string->``ofs:int->``mixed_context:MixedContext.t->unit
valunpack : ``packed:Capnp__.FragmentBuffer.t->``unpacked:Capnp__.FragmentBuffer.t->unit
Unpack as much data as possible from the packed fragment buffer. into the unpacked fragment buffer.
valunpack_string : ``string->string
