xrepl/protocol
Wire protocol definitions and encoding/decoding utilities for xrepl communications
Overview
This library provides:
- MessagePack encoding/decoding with length framing
- Protocol message type definitions and schemas
- Request/response builders for all operations
- Message validation functions
- Error standardization
Installation
Add to your rebar.config:
{deps, [
{xrepl_protocol, "0.1.0"}
]}.
Usage
;; Encoding an eval request
(let ((request (xrepl-protocol-eval:request #m(code "(+ 1 2)"))))
(xrepl-protocol-msgpack:encode request))
;; Decoding a response
(case (xrepl-protocol-msgpack:decode binary-data)
(`#(ok ,message)
(xrepl-protocol-eval:parse-response message)))
License
Apache 2.0