Spec-Zone.ru › Elixir 1.3

Узел

Функции, связанные с узлами виртуальной машины.

Некоторые функции в этом модуле встроены компилятором, подобно функциям в модуле Kernel, и они явно помечены в их документации как «встроенные компилятором». Для получения дополнительной информации об встроенных функциях, ознакомьтесь с модулем Kernel.

Краткое описание

Типы

t()

Функции

alive?()

Возвращает true, если локальный узел активен

connect(node)

Устанавливает соединение с node

disconnect(node)

Принудительно разрывает соединение с узлом

get_cookie()

Возвращает магическое cookie локального узла

list()

Возвращает список всех видимых узлов в системе, исключая локальный узел

list(args)

Возвращает список узлов в соответствии с заданными аргументами

monitor(node, flag)

Отслеживает состояние узла

monitor(node, flag, options)

Ведет себя как monitor/2, за исключением возможности передачи дополнительного параметра, а именно :allow_passive_connect

ping(node)

Пытается установить соединение с узлом

self()

Возвращает текущий узел

set_cookie(node \\ Node.self(), cookie)

Устанавливает магическое cookie узла node на атом cookie

spawn(node, fun)

Возвращает идентификатор нового процесса, запущенного с помощью применения fun к node. Если node не существует, возвращается бесполезный идентификатор процесса.

spawn(node, fun, opts)

Возвращает идентификатор нового процесса, запущенного с помощью применения fun к node.

spawn(node, module, fun, args)

Возвращает идентификатор нового процесса, запущенного с помощью применения module.function(args) к node.

spawn(node, module, fun, args, opts)

Возвращает идентификатор нового процесса, запущенного с помощью применения module.function(args) к node.

spawn_link(node, fun)

Возвращает идентификатор нового связанного процесса, запущенного с помощью применения fun к node.

spawn_link(node, module, fun, args)

Возвращает идентификатор нового связанного процесса, запущенного с помощью применения module.function(args) к node.

start(name, type \\ :longnames, tick_time \\ 15000)

Преобразует неу распределённый узел в распределённый.

stop()

Преобразует распределённый узел в неу распределённый.

Типы

t()

t() :: node

Функции

alive?()

alive?() :: boolean

Возвращает true, если локальный узел активен.

То есть, если узел может быть частью распределённой системы.

connect(node)

connect(t) :: boolean | :ignored

Устанавливает соединение с node.

Возвращает true, если успешно, false, если нет, и атом :ignored, если локальный узел не активен.

Для получения дополнительной информации, см. :erlang.connect_node/1.

disconnect(node)

disconnect(t) :: boolean | :ignored

Принудительно разрывает соединение с узлом.

Это будет выглядеть для node так, как если бы локальный узел упал. Эта функция в основном используется в протоколах аутентификации сети Erlang. Возвращает true, если разрыв соединения успешен, в противном случае false. Если локальный узел не активен, функция возвращает :ignored.

Для получения дополнительной информации, см. :erlang.disconnect_node/1.

get_cookie()

Возвращает магическое cookie локального узла.

Возвращает cookie, если узел активен, в противном случае :nocookie.

list()

list() :: [t]

Возвращает список всех видимых узлов в системе, исключая локальный узел.

То же, что и list(:visible).

list(args)

list(state | [state]) :: [t]

Возвращает список узлов в соответствии с заданными аргументами.

Результат, возвращаемый, когда аргументом является список, является списком узлов, удовлетворяющих дизъюнкции(ям) элементов списка.

Для получения дополнительной информации, см. :erlang.nodes/1.

monitor(node, flag)

monitor(t, boolean) :: true

Отслеживает состояние узла.

Если flag равно true, мониторинг включен. Если flag равно false, мониторинг выключен.

Для получения дополнительной информации, см. :erlang.monitor_node/2.

monitor(node, flag, options)

monitor(t, boolean, [:allow_passive_connect]) :: true

Ведет себя как monitor/2, за исключением возможности передачи дополнительного параметра, а именно :allow_passive_connect.

Для получения дополнительной информации, см. :erlang.monitor_node/3.

ping(node)

ping(t) :: :pong | :pang

Пытается установить соединение с узлом.

Возвращает :pang, если попытка не удалась, или :pong, если успешна.

Примеры

iex> Node.ping(:unknown_node)
:pang

self()

self() :: t

Возвращает текущий узел.

Возвращает то же, что и встроенная функция node().

set_cookie(node \\ Node.self(), cookie)

Устанавливает магическое cookie узла node на атом cookie.

По умолчанию узел - Node.self/0, локальный узел. Если node является локальным узлом, функция также устанавливает cookie всех других неизвестных узлов на cookie.

Эта функция вызовет FunctionClauseError, если заданный node не активен.

spawn(node, fun)

spawn(t, (() -> any)) :: pid

Возвращает идентификатор нового процесса, запущенного с помощью применения fun к node. Если node не существует, возвращается бесполезный идентификатор процесса.

Список доступных параметров см. в :erlang.spawn/2.

Встроено компилятором.

spawn(node, fun, opts)

spawn(t, (() -> any), Process.spawn_opts) ::
  pid |
  {pid, reference}

Возвращает идентификатор нового процесса, запущенного с помощью применения fun к node.

Если node не существует, возвращается бесполезный идентификатор процесса.

Список доступных параметров см. в :erlang.spawn_opt/3.

Встроено компилятором.

spawn(node, module, fun, args)

spawn(t, module, atom, [any]) :: pid

Возвращает идентификатор нового процесса, запущенного с помощью применения module.function(args) к node.

Если node не существует, возвращается бесполезный идентификатор процесса.

Список доступных параметров см. в :erlang.spawn/4.

Встроено компилятором.

spawn(node, module, fun, args, opts)

spawn(t, module, atom, [any], Process.spawn_opts) ::
  pid |
  {pid, reference}

Возвращает идентификатор нового процесса, запущенного с помощью применения module.function(args) к node.

Если node не существует, возвращается бесполезный идентификатор процесса.

Список доступных параметров см. в :erlang.spawn/5.

Встроено компилятором.

spawn_link(node, fun)

spawn_link(t, (() -> any)) :: pid

Возвращает идентификатор нового связанного процесса, запущенного с помощью применения fun к node.

Связь создаётся между вызывающим процессом и новым процессом атомарно. Если node не существует, возвращается бесполезный идентификатор процесса (и из-за связи будет получен сигнал выхода с причиной выхода :noconnection).

Встроено компилятором.

spawn_link(node, module, fun, args)

spawn_link(t, module, atom, [any]) :: pid

Возвращает pid нового связанного процесса, запущенного приложением module.function(args) на node.

Связь создается между вызывающим процессом и новым процессом атомарно. Если node не существует, возвращается бесполезный pid (и из-за связи будет получен сигнал завершения с причиной :noconnection).

Встраивается компилятором.

start(name, type \\ :longnames, tick_time \\ 15000)

start(node, :longnames | :shortnames, non_neg_integer) ::
  {:ok, pid} |
  {:error, term}

Преобразует нераспределенный узел в распределенный узел.

Эта функциональность запускает :net_kernel и другие связанные процессы.

stop()

stop() :: :ok | {:error, :not_allowed | :not_found}

Преобразует распределенный узел в нераспределенный узел.

Для других узлов в сети это эквивалентно отключению узла. Возможен только в том случае, если узел был запущен с помощью Node.start/3, в противном случае возвращает {:error, :not_allowed}. Возвращает {:error, :not_found} если локальный узел не активен.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.3.4/Node.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API