static Object mcr_aprepend(ObjectData* this_, const String& key, const String& val) { mcr::mcrouter_msg_t msg; msg.req = mc_msg_new_with_key_and_value_full(key.c_str(), key.size(), val.c_str(), val.size()); msg.req->op = op; return Native::data<MCRouter>(this_)->issue(msg); }
static Object mcr_set(ObjectData* this_, const String& key, const String& val, int64_t flags, int64_t expiration) { mcr::mcrouter_msg_t msg; msg.req = mc_msg_new_with_key_and_value_full(key.c_str(), key.size(), val.c_str(), val.size()); msg.req->op = op; msg.req->flags = flags; msg.req->exptime = expiration; return Native::data<MCRouter>(this_)->issue(msg); }
static Object HHVM_METHOD(MCRouter, cas, int64_t cas, const String& key, const String& val, int64_t expiration /*=0*/) { mcr::mcrouter_msg_t msg; msg.req = mc_msg_new_with_key_and_value_full(key.c_str(), key.size(), val.c_str(), val.size()); msg.req->op = mc_op_cas; msg.req->cas = cas; msg.req->exptime = expiration; return Native::data<MCRouter>(this_)->issue(msg); }
// Create a new message with a copy of the key (uses mc_msg_new). mc_msg_t *mc_msg_new_with_key_and_value(const char *key, const char *value, size_t nvalue) { return mc_msg_new_with_key_and_value_full(key, strlen(key), value, nvalue); }