lua plugin: A first and very simple take at read callbacks.
authorFlorian Forster <octo@noris.net>
Wed, 24 Nov 2010 16:50:18 +0000 (17:50 +0100)
committerFlorian Forster <octo@noris.net>
Wed, 24 Nov 2010 16:50:18 +0000 (17:50 +0100)
commit42fa6be9ebeb1fb386a99950ef5a835c40caf1fc
tree2c0803b44cf343d7a1aa5b8803f32f8895df9080
parente8aed8c5503e4c45f007a9894e719da4c4e0b2ea
lua plugin: A first and very simple take at read callbacks.

Apparently it's not possible to export a pointer to a Lua
function to C. We therefore use the "registry" to store the
callbacks there. They are fetched in "clua_read()" using

  lua_pushstring (l, function_name);
  lua_gettable (l, LUA_REGISTRYINDEX);

It is now possible to register read callbacks using:

  collectd_register_read (function ()
    -- do some work here
    return 0;
  end);

As a special case, global functions can be registered using
function names, too. In that case they are looked up in the
"globals" table.
src/lua.c