lib/session.ex

defmodule Session do
  @spec declare_publisher(NifZenoh.session(), charlist()) :: {:ok, NifZenoh.publisher()}
  def declare_publisher(session, key) do
    NifZenoh.session_declare_publisher(session, key)
  end

  @spec declare_subscriber(NifZenoh.session(), charlist(), function()) :: no_return()
  def declare_subscriber(session, keyexpr, callback) do
    NifZenoh.session_declare_subscriber_wrapper(session, keyexpr, callback)
  end
end