[zeromq-dev] subtree matching with ztrie (#1073)

Michael Haberler mail17 at mah.priv.at
Wed Sep 2 14:24:59 CEST 2015


I like the ztrie idea from #1073!  I'm considering this use case: *)

server-side you'd insert routes like

  /config/redis/*
  /config/zconfig/*
  /config/init/*

and associate a match of /config/<method>/ with what is essentially a vtable which knows how to handle that subtree type

client-side operations would be roughly so:

  lookup(/config/redis/<some path of length > 0>)
  set(/config/redis/<some path of length > 0>/<value>)
  subscribe(/config/redis/<some path of length > 0>, change_callback)

I guess what I need is a way to store the routes as above, plus a match method which would

given say "/config/redis/foo/bar/baz" :

- yield the data for /config/redis (i.e. the redis methods vtable)
- plus "foo/bar/baz" (as string or in tokenized 'ztrie_hit_parameters)' form)

how would I do that? I am unclear how to match a (possibly indefinite length) number of route elements.

thanks!

- Michael


*) a zeromq-based networked configuration store "borrowing with pride" from  zookeeper/etcd/webdis/augeas/libelektra - a tree-structure key/value space (but a tad less filling than those examples)
 with a 'mount some method into the tree at a given point' capability to integrate various configuration sources (some of them legacy like INI files, or redis, or zconfig - maybe based on plugins)


More information about the zeromq-dev mailing list