diff options
author | Linus Nordberg <linus@sunet.se> | 2019-06-28 12:54:47 +0200 |
---|---|---|
committer | Linus Nordberg <linus@sunet.se> | 2019-06-28 12:54:47 +0200 |
commit | 91911b2816f79b5526f9b437906c7fcf5e7dd9be (patch) | |
tree | 57f772f600062c0375e2b5e98c9a629a9d097cfd | |
parent | d774f3668e620b239df91af01cbda043b580405b (diff) |
serialise rpc
-rw-r--r-- | p11p-daemon/src/p11p_rpc.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/p11p-daemon/src/p11p_rpc.erl b/p11p-daemon/src/p11p_rpc.erl index d29f783..8292ccf 100644 --- a/p11p-daemon/src/p11p_rpc.erl +++ b/p11p-daemon/src/p11p_rpc.erl @@ -40,8 +40,16 @@ parse(#p11rpc_msg{buffer = Buf} = M, Data) when M#p11rpc_msg.state == data -> end. -spec serialise(p11rpc_msg()) -> binary(). -serialise(_M) -> - <<"fixme">>. +serialise(M) when M#p11rpc_msg.state == done, + M#p11rpc_msg.call_code > -1, + M#p11rpc_msg.opt_len > -1, + M#p11rpc_msg.data_len > -1 -> + CallCode = M#p11rpc_msg.call_code, + OptLen = M#p11rpc_msg.opt_len, + DataLen = M#p11rpc_msg.data_len, + Options = M#p11rpc_msg.options, + Data = M#p11rpc_msg.data, + <<CallCode:32/integer, OptLen:32/integer, DataLen:32/integer, Options/binary, Data/binary>>. %% Private |