diff options
author | J.J <thechairman@thechairman.info> | 2024-05-30 21:50:02 -0400 |
---|---|---|
committer | J.J <thechairman@thechairman.info> | 2024-05-30 21:50:02 -0400 |
commit | 612fd986ab1e00b6d34dc1937136250e08e89325 (patch) | |
tree | a3c93952040c6afdf348b5831619a45db7ba0a2e /aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl | |
parent | 231c2b688d1e6cf0846d46e883da30e042a9c6cf (diff) | |
download | gleam_aoc-612fd986ab1e00b6d34dc1937136250e08e89325.tar.gz gleam_aoc-612fd986ab1e00b6d34dc1937136250e08e89325.zip |
cleanup
Diffstat (limited to 'aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl')
-rw-r--r-- | aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl new file mode 100644 index 0000000..f57d029 --- /dev/null +++ b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl @@ -0,0 +1,33 @@ +-module(gleam@erlang@node). +-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]). + +-export([self/0, visible/0, connect/1, send/3, to_atom/1]). +-export_type([node_/0, do_not_leak/0, connect_error/0]). + +-type node_() :: any(). + +-type do_not_leak() :: any(). + +-type connect_error() :: failed_to_connect | local_node_is_not_alive. + +-spec self() -> node_(). +self() -> + erlang:node(). + +-spec visible() -> list(node_()). +visible() -> + erlang:nodes(). + +-spec connect(gleam@erlang@atom:atom_()) -> {ok, node_()} | + {error, connect_error()}. +connect(Node) -> + gleam_erlang_ffi:connect_node(Node). + +-spec send(node_(), gleam@erlang@atom:atom_(), any()) -> nil. +send(Node, Name, Message) -> + erlang:send({Name, Node}, Message), + nil. + +-spec to_atom(node_()) -> gleam@erlang@atom:atom_(). +to_atom(Node) -> + gleam_erlang_ffi:identity(Node). |