static int rdb_tune(lua_State *L){ TCRDB *rdb = rdb_getrdb(L, 1); int opts = luaL_checkint(L, 2); double timeout = luaL_optnumber(L, 3, 0); bool result = tcrdbtune(rdb, timeout, opts); lua_pushboolean(L, result); return 1; }
static VALUE mTokyoMessenger_connect(VALUE vself){ VALUE host, port, timeout, retry, server; int ecode; TCRDB *db = mTokyoMessenger_getdb(vself); host = rb_iv_get(vself, "@host"); port = rb_iv_get(vself, "@port"); timeout = rb_iv_get(vself, "@timeout"); retry = rb_iv_get(vself, "@retry"); if((!tcrdbtune(db, NUM2DBL(timeout), retry == Qtrue ? RDBTRECON : 0)) || (!tcrdbopen(db, RSTRING_PTR(host), FIX2INT(port)))){ ecode = tcrdbecode(db); rb_raise(eTokyoMessengerError, "open error: %s", tcrdberrmsg(ecode)); } server = rb_str_new2(tcrdbexpr(db)); rb_iv_set(vself, "@server", server); return Qtrue; }
/* tune */ JNIEXPORT jboolean JNICALL Java_tokyotyrant_TCRDB_tune (JNIEnv *env, jobject self, jdouble timeout, jint opts){ TCRDB *tcrdb = (TCRDB *)(intptr_t)(*env)->GetLongField(env, self, tcrdb_fid_ptr); return tcrdbtune(tcrdb, timeout, opts); }