Beethoven.Core.Locator (Beethoven v0.2.3)

Library module for finding a Beethoven listener within a target network.

Summary

Functions

Attempts join to a Beethoven Listener Socket server hosted on another Elixir node. Using the provided socket info, the client will attempt to connect to the socket and deliver its node uri as a payload.

Iterates through a list of IPs and tries to find one running a Beethoven Listener. Same returns as try_join/2.

Functions

try_join(ipAddr, port)

@spec try_join({integer(), integer(), integer(), integer()}, integer()) ::
  :ok | :cluster_join_error | :copy_error | :coord_listener_conn_error

Attempts join to a Beethoven Listener Socket server hosted on another Elixir node. Using the provided socket info, the client will attempt to connect to the socket and deliver its node uri as a payload.

try_join_iter(ipList, port)

@spec try_join_iter([{integer(), integer(), integer(), integer()}], integer()) ::
  :ok | :cluster_join_error | :copy_error | :none_found

Iterates through a list of IPs and tries to find one running a Beethoven Listener. Same returns as try_join/2.