Пример #1
0
static int hsr_read_message(lua_State* lua)
{
  int n = lua_gettop(lua);
  if (n < 1 || n > 4) {
    return luaL_error(lua, "read_message() incorrect number of arguments");
  }
  heka_stream_reader* hsr = check_hsr(lua, n);
  lua_remove(lua, 1); // remove the hsr user data
  return hs_read_message(lua, &hsr->msg);
}
Пример #2
0
static int read_message(lua_State* lua)
{
  lua_sandbox* lsb = lua_touserdata(lua, lua_upvalueindex(1));
  if (!lsb) {
    return luaL_error(lua, "read_message() invalid upvalueindex");
  }
  hs_output_plugin* p = (hs_output_plugin*)lsb_get_parent(lsb);

  if (!p->matched || !p->msg) {
    lua_pushnil(lua);
    return 1;
  }
  return hs_read_message(lua, p->msg);
}
Пример #3
0
static int read_message(lua_State* lua)
{
  void* luserdata = lua_touserdata(lua, lua_upvalueindex(1));
  if (NULL == luserdata) {
    return luaL_error(lua, "read_message() invalid lightuserdata");
  }
  lua_sandbox* lsb = (lua_sandbox*)luserdata;
  hs_analysis_plugin* p = (hs_analysis_plugin*)lsb_get_parent(lsb);

  if (!p->at->matched || !p->at->msg) {
    lua_pushnil(lua);
    return 1;
  }
  return hs_read_message(lua, p->at->msg);
}