Module Capnp.MessageSig
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))moduleUint32`` =Stdint.Uint32
moduleUint64`` =Stdint.Uint64
typero
typerw
moduletypeSEGMENT=sig...end
typeattachments`` = ``..
An RPC message can have an array of attached capabilities. To avoid making the message layer depend on the RPC layer, we define this as an open type, so that an RPC system can use whatever system it likes for this.
typeattachments+=
|No_attachments
This is the default attachment handler.
moduletypeMESSAGE=sig...end
moduletypeSLICE=sig...end
moduletypeS=sig...end
