Zenohex
Zenohex is the zenoh client library for elixir.
Currently zenohex uses version 0.7.0-rc of zenoh. If you want to communicate with Rust version of Zenoh, please use the same version.
Installation
If available in Hex, the package can be installed
by adding zenohex to your list of dependencies in mix.exs:
def deps do
[
{:zenohex, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/zenohex.
install rust.
https://www.rust-lang.org/tools/install
Getting Started
Publisher example
terminal 1 (Subscriber)
iex -S mix
iex> NifZenoh.tester_sub
terminal 2 (Publisher)
iex -S mix
iex> session = Zenohex.open
iex> {:ok, publisher} = Session.declare_publisher(session, "demo/example/zenoh-rs-pub")
iex> Publisher.put(publisher, "Hello zenoh?")
Subscriber example
(Subscriber)
iex -S mix
iex> session = Zenohex.open
iex> Session.declare_subscriber_wrapper(session, "demo/example/zenoh-rs-pub", fn m -> IO.inspect(m) end)
(third argument is callback function)
(Publisher)
iex> {:ok, publisher} = Session.declare_publisher(session, "demo/example/zenoh-rs-pub")
iex> Publisher.put(publisher, "Hello zenoh?")