Zenohex API compatibility

Copy Markdown

This table maps Zenohex APIs to their ZenohexPico counterparts. --- indicates that no corresponding ZenohexPico API is available.

ZenohexZenohexPico
Zenohex.put/3ZenohexPico.put/4
Zenohex.delete/2---
Zenohex.get/3ZenohexPico.get/4
Zenohex.scout/3---
Zenohex.Config.default/0ZenohexPico.Config.default/0
Zenohex.Config.from_env/0---
Zenohex.Config.from_file/1---
Zenohex.Config.from_json5/1---
Zenohex.Config.get_json/2ZenohexPico.Config.get/2
Zenohex.Config.insert_json5/3ZenohexPico.Config.insert/3
Zenohex.Config.insert_json5_array_item/3---
Zenohex.Config.remove_json5_array_item/2---
Zenohex.ConfigMap.default/0---
Zenohex.ConfigMap.from_env/0---
Zenohex.ConfigMap.from_file/1---
Zenohex.ConfigMap.from_json5/1---
Zenohex.ConfigMap.get/2---
Zenohex.ConfigMap.insert/3---
Zenohex.ConfigMap.merge/2---
Zenohex.Session.open/0---
Zenohex.Session.open/1ZenohexPico.Session.open/1
Zenohex.Session.close/1ZenohexPico.Session.close/1
Zenohex.Session.closed?/1---
Zenohex.Session.put/4ZenohexPico.Session.put/4
Zenohex.Session.delete/3---
Zenohex.Session.get/4ZenohexPico.Session.get/4
Zenohex.Session.new_timestamp/1---
Zenohex.Session.info/1---
Zenohex.Session.declare_publisher/3---
Zenohex.Session.declare_subscriber/4ZenohexPico.Session.declare_subscriber/4
Zenohex.Session.declare_querier/3---
Zenohex.Session.declare_queryable/4---
Zenohex.Publisher.put/3---
Zenohex.Publisher.delete/2---
Zenohex.Publisher.undeclare/1---
Zenohex.Subscriber.undeclare/1ZenohexPico.Subscriber.undeclare/1
Zenohex.Querier.get/3---
Zenohex.Querier.get_async/3---
Zenohex.Querier.undeclare/1---
Zenohex.Queryable.undeclare/1---
Zenohex.Query.reply/4---
Zenohex.Query.reply_error/3---
Zenohex.Query.reply_delete/3---
Zenohex.Liveliness.get/4---
Zenohex.Liveliness.declare_subscriber/3---
Zenohex.Liveliness.undeclare_subscriber/1---
Zenohex.Liveliness.declare_token/2---
Zenohex.Liveliness.undeclare_token/1---
Zenohex.Matching.status/1---
Zenohex.Matching.declare_listener/2---
Zenohex.Matching.undeclare_listener/1---
Zenohex.Scouting.scout/3---
Zenohex.Scouting.declare_scout/3---
Zenohex.Scouting.stop_scout/1---
Zenohex.KeyExpr.canonize/1---
Zenohex.KeyExpr.join/2---
Zenohex.KeyExpr.valid?/1---
Zenohex.KeyExpr.intersects?/2---
Zenohex.KeyExpr.includes?/2---

Notable API differences

  • Zenohex.Config.default/0 returns a JSON binary directly, whereas ZenohexPico.Config.default/0 returns {:ok, reference()} on success (or {:error, term()}).
  • ZenohexPico.Config.get/2 and ZenohexPico.Config.insert/3 accept only supported atom keys. See the ZenohexPico.Config documentation for the list of supported keys. In contrast, Zenohex.Config.get_json/2 and Zenohex.Config.insert_json5/3 use string key paths.
  • Zenohex.put/3 and Zenohex.get/3 use the default configuration internally. Their ZenohexPico counterparts require a ZenohexPico.Config.t() as the first argument.