Пример #1
0
static void database_cache_try_connect(void) {

        memset( &memcached_data, 0, sizeof(memcached_data) );

        memcached_data.mc = mc_new();

        if ( memcached_data.mc ) {
            if ( !mc_server_add(memcached_data.mc, db_server_host, db_server_port) ) {
                memcached_data.active = 1;
            }
        }

        if ( memcached_data.active==0 ) {
            cw_log(LOG_WARNING,"Cannot initialize memcache for server %s:%s.\n", db_server_host, db_server_port);
            if ( memcached_data.mc )
                mc_free(memcached_data.mc);
        }
        else
        {
            cw_log(LOG_NOTICE,"Memcache INITIALIZED\n");
        }


        memcached_data.ctx = mc_global_ctxt();
        mcm_err_filter_del(memcached_data.ctx, MCM_ERR_LVL_INFO);
        mcm_err_filter_del(memcached_data.ctx, MCM_ERR_LVL_NOTICE);
        
        memcached_data.ctx->mcErr = database_cache_error_handler;
        //ctxt->mcHashKey = hash_key;
        //ctxt->mcServerFind = server_find;

        memcached_data.has_error = 0;

}
Пример #2
0
static int l_sipmemcache_server_add(lua_State *L)
{
  struct sipmemcache *o;
  const char *host;
  const char *port;
  int ret;

  o = luaL_checkudata(L, 1, "siplua.memcache");
  host = luaL_checkstring(L, 2);
  port = luaL_checkstring(L, 3);
  if (o->finalized || !o->mc)
    {
      lua_pushnil(L);
    }
  else
    {
      ret = mc_server_add(o->mc, host, port);
      if (ret)
	lua_pushboolean(L, 0);
      else
	lua_pushboolean(L, 1);
    }
  return 1;
}