summaryrefslogtreecommitdiff
path: root/src/message.ml
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2024-10-23 18:50:46 -0500
committerJohn Estabrook <jestabro@vyos.io>2024-10-27 20:50:47 -0500
commit037c3ce961e1fec94b1d50b069b69c6636ac0393 (patch)
treeb192c3c1549c8bc3bc6cffb69ac0b92b60941662 /src/message.ml
parent5d7927e392e70436aaca1f8261e5d4ab8e4ec8f8 (diff)
downloadvyconf-037c3ce961e1fec94b1d50b069b69c6636ac0393.tar.gz
vyconf-037c3ce961e1fec94b1d50b069b69c6636ac0393.zip
T6718: reorganize layout for dune build of libs/executables
Diffstat (limited to 'src/message.ml')
-rw-r--r--src/message.ml9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/message.ml b/src/message.ml
index 3629f0d..d4cc374 100644
--- a/src/message.ml
+++ b/src/message.ml
@@ -3,6 +3,11 @@
Messages are preceded by a length header, four bytes in network order.
*)
+(** Makes a hex dump of a byte string *)
+let hexdump b =
+ let dump = ref "" in
+ Bytes.iter (fun c -> dump := Char.code c |> Printf.sprintf "%s %02x" !dump) b;
+ !dump
let read ic =
let header = Bytes.create 4 in
@@ -12,14 +17,14 @@ let read ic =
if length < 0 then failwith (Printf.sprintf "Bad message length: %d" length) else
let buffer = Bytes.create length in
let%lwt () = Lwt_io.read_into_exactly ic buffer 0 length in
- Lwt_log.debug (Util.hexdump buffer |> Printf.sprintf "Read mesage: %s") |> Lwt.ignore_result;
+ Lwt_log.debug (hexdump buffer |> Printf.sprintf "Read mesage: %s") |> Lwt.ignore_result;
Lwt.return buffer
let write oc msg =
let length = Bytes.length msg in
let length' = Int32.of_int length in
Lwt_log.debug (Printf.sprintf "Write length: %d\n" length) |> Lwt.ignore_result;
- Lwt_log.debug (Util.hexdump msg |> Printf.sprintf "Write message: %s") |> Lwt.ignore_result;
+ Lwt_log.debug (hexdump msg |> Printf.sprintf "Write message: %s") |> Lwt.ignore_result;
if length' < 0l then failwith (Printf.sprintf "Bad message length: %d" length) else
let header = Bytes.create 4 in
let () = EndianBytes.BigEndian.set_int32 header 0 length' in