Module Capnp.Codecs
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))typecompression_t`` = ``[
| ```None ``
| ```Packing ``]
moduleFramingError:sig...end
moduleFramedStream:sig...end
valserialize_fold :'capMessage.BytesMessage.Message.t->``compression:compression_t->``init:'acc->``f:``('acc->``string->'acc)``->'acc
serialize_fold message ~compression ~init ~f generates an ordered
sequence of string fragments corresponding to a Cap'n Proto framed
message, encoded using the specified compression method. The return
value is the result of folding f across the resulting sequence of
fragments.
valserialize_iter :'capMessage.BytesMessage.Message.t->``compression:compression_t->``f:``(``string->unit)``->unit
serialize_iter message ~compression ~f generates an ordered sequence
of string fragments corresponding to a Cap'n Proto framed message,
encoded using the specified compression method. f is applied to each
fragment in turn.
valserialize_fold_copyless :'capMessage.BytesMessage.Message.t->``compression:compression_t->``init:'acc->``f:``('acc->``string->``int->'acc)``->'acc
serialize_fold_copyless message ~compression ~init ~f exposes an
ordered sequence of string fragments (and lengths) corresponding to a
Cap'n Proto framed message, encoded using the specified compression
method. The return value is the result of folding f across the
resulting sequence of fragments.
valserialize_iter_copyless :'capMessage.BytesMessage.Message.t->``compression:compression_t->``f:``(``string->``int->unit)``->unit
serialize_iter_copyless message ~compression ~f exposes an ordered
sequence of string fragments (and lengths) corresponding to a Cap'n
Proto framed message, encoded using the specified compression method.
f is applied to each fragment in turn.
valserialize : ``compression:compression_t->'capMessage.BytesMessage.Message.t->string
serialize ~compression message constructs a string containing the
message segments prefixed with the serialization framing header,
encoded using the specified compression method.
