/Original-Code/chapter_13/simple_cache/src/sc_hbase.erl
https://github.com/sschaefer/Notebook-for-Erlang-And-OTP-in-Action · Erlang · 36 lines · 32 code · 4 blank · 0 comment · 0 complexity · 4fbaa6dc70d43a699c22f30904f1f303 MD5 · raw file
- -module(sc_hbase).
- -export([put/3, get/2, delete/2]).
- put(Node, Key, Value) ->
- Ref = make_ref(),
- {hbase_server, Node} ! {put, self(), Ref, term_to_binary(Key),
- term_to_binary(Value)},
- receive
- {reply, Ref, ok} ->
- ok
- after 3000 ->
- {error, timeout}
- end.
- get(Node, Key) ->
- Ref = make_ref(),
- {hbase_server, Node} ! {get, self(), Ref, term_to_binary(Key)},
- receive
- {reply, Ref, not_found} ->
- {error, not_found};
- {reply, Ref, Binary} ->
- {ok, binary_to_term(Binary)}
- after 3000 ->
- {error, timeout}
- end.
- delete(Node, Key) ->
- Ref = make_ref(),
- {hbase_server, Node} ! {delete, self(), Ref, term_to_binary(Key)},
- receive
- {reply, Ref, ok} ->
- ok
- after 3000 ->
- {error, timeout}
- end.