Lines Matching refs:it
103 static int add_chunked_item_iovs(conn *c, item *it, int len);
602 item *it = *(c->icurr); in conn_release_items() local
603 assert((it->it_flags & ITEM_SLABBED) == 0); in conn_release_items()
604 item_remove(it); in conn_release_items()
883 static int add_chunked_item_iovs(conn *c, item *it, int len) { in add_chunked_item_iovs() argument
884 assert(it->it_flags & ITEM_CHUNKED); in add_chunked_item_iovs()
885 item_chunk *ch = (item_chunk *) ITEM_data(it); in add_chunked_item_iovs()
1008 item *it = c->item; in complete_nread_ascii() local
1014 c->thread->stats.slab_stats[ITEM_clsid(it)].set_cmds++; in complete_nread_ascii()
1017 if ((it->it_flags & ITEM_CHUNKED) == 0) { in complete_nread_ascii()
1018 if (strncmp(ITEM_data(it) + it->nbytes - 2, "\r\n", 2) == 0) { in complete_nread_ascii()
1048 ret = store_item(it, comm, c); in complete_nread_ascii()
1051 uint64_t cas = ITEM_get_cas(it); in complete_nread_ascii()
1054 MEMCACHED_COMMAND_ADD(c->sfd, ITEM_key(it), it->nkey, in complete_nread_ascii()
1055 (ret == 1) ? it->nbytes : -1, cas); in complete_nread_ascii()
1058 MEMCACHED_COMMAND_REPLACE(c->sfd, ITEM_key(it), it->nkey, in complete_nread_ascii()
1059 (ret == 1) ? it->nbytes : -1, cas); in complete_nread_ascii()
1062 MEMCACHED_COMMAND_APPEND(c->sfd, ITEM_key(it), it->nkey, in complete_nread_ascii()
1063 (ret == 1) ? it->nbytes : -1, cas); in complete_nread_ascii()
1066 MEMCACHED_COMMAND_PREPEND(c->sfd, ITEM_key(it), it->nkey, in complete_nread_ascii()
1067 (ret == 1) ? it->nbytes : -1, cas); in complete_nread_ascii()
1070 MEMCACHED_COMMAND_SET(c->sfd, ITEM_key(it), it->nkey, in complete_nread_ascii()
1071 (ret == 1) ? it->nbytes : -1, cas); in complete_nread_ascii()
1074 MEMCACHED_COMMAND_CAS(c->sfd, ITEM_key(it), it->nkey, it->nbytes, in complete_nread_ascii()
1246 item *it; in complete_incr_bin() local
1307 it = item_alloc(key, nkey, 0, realtime(req->message.body.expiration), in complete_incr_bin()
1310 if (it != NULL) { in complete_incr_bin()
1311 memcpy(ITEM_data(it), tmpbuf, res); in complete_incr_bin()
1312 memcpy(ITEM_data(it) + res, "\r\n", 2); in complete_incr_bin()
1314 if (store_item(it, NREAD_ADD, c)) { in complete_incr_bin()
1315 c->cas = ITEM_get_cas(it); in complete_incr_bin()
1321 item_remove(it); /* release our reference */ in complete_incr_bin()
1349 item *it = c->item; in complete_update_bin() local
1352 c->thread->stats.slab_stats[ITEM_clsid(it)].set_cmds++; in complete_update_bin()
1357 if ((it->it_flags & ITEM_CHUNKED) == 0) { in complete_update_bin()
1358 *(ITEM_data(it) + it->nbytes - 2) = '\r'; in complete_update_bin()
1359 *(ITEM_data(it) + it->nbytes - 1) = '\n'; in complete_update_bin()
1378 ret = store_item(it, c->cmd, c); in complete_update_bin()
1381 uint64_t cas = ITEM_get_cas(it); in complete_update_bin()
1384 MEMCACHED_COMMAND_ADD(c->sfd, ITEM_key(it), it->nkey, in complete_update_bin()
1385 (ret == STORED) ? it->nbytes : -1, cas); in complete_update_bin()
1388 MEMCACHED_COMMAND_REPLACE(c->sfd, ITEM_key(it), it->nkey, in complete_update_bin()
1389 (ret == STORED) ? it->nbytes : -1, cas); in complete_update_bin()
1392 MEMCACHED_COMMAND_APPEND(c->sfd, ITEM_key(it), it->nkey, in complete_update_bin()
1393 (ret == STORED) ? it->nbytes : -1, cas); in complete_update_bin()
1396 MEMCACHED_COMMAND_PREPEND(c->sfd, ITEM_key(it), it->nkey, in complete_update_bin()
1397 (ret == STORED) ? it->nbytes : -1, cas); in complete_update_bin()
1400 MEMCACHED_COMMAND_SET(c->sfd, ITEM_key(it), it->nkey, in complete_update_bin()
1401 (ret == STORED) ? it->nbytes : -1, cas); in complete_update_bin()
1435 item *it; in process_bin_get_or_touch() local
1457 it = item_touch(key, nkey, realtime(exptime), c); in process_bin_get_or_touch()
1459 it = item_get(key, nkey, c); in process_bin_get_or_touch()
1462 if (it) { in process_bin_get_or_touch()
1465 uint32_t bodylen = sizeof(rsp->message.body) + (it->nbytes - 2); in process_bin_get_or_touch()
1467 item_update(it); in process_bin_get_or_touch()
1471 c->thread->stats.slab_stats[ITEM_clsid(it)].touch_hits++; in process_bin_get_or_touch()
1474 c->thread->stats.slab_stats[ITEM_clsid(it)].get_hits++; in process_bin_get_or_touch()
1479 MEMCACHED_COMMAND_TOUCH(c->sfd, ITEM_key(it), it->nkey, in process_bin_get_or_touch()
1480 it->nbytes, ITEM_get_cas(it)); in process_bin_get_or_touch()
1482 MEMCACHED_COMMAND_GET(c->sfd, ITEM_key(it), it->nkey, in process_bin_get_or_touch()
1483 it->nbytes, ITEM_get_cas(it)); in process_bin_get_or_touch()
1487 bodylen -= it->nbytes - 2; in process_bin_get_or_touch()
1494 rsp->message.header.response.cas = htonll(ITEM_get_cas(it)); in process_bin_get_or_touch()
1497 rsp->message.body.flags = htonl(strtoul(ITEM_suffix(it), NULL, 10)); in process_bin_get_or_touch()
1501 add_iov(c, ITEM_key(it), nkey); in process_bin_get_or_touch()
1506 if ((it->it_flags & ITEM_CHUNKED) == 0) { in process_bin_get_or_touch()
1507 add_iov(c, ITEM_data(it), it->nbytes - 2); in process_bin_get_or_touch()
1509 add_chunked_item_iovs(c, it, it->nbytes - 2); in process_bin_get_or_touch()
1516 c->item = it; in process_bin_get_or_touch()
1553 stats_prefix_record_get(key, nkey, NULL != it); in process_bin_get_or_touch()
1869 item *it = item_alloc(key, nkey, 0, 0, vlen); in process_bin_sasl_auth() local
1872 if (it == 0 || (it->it_flags & ITEM_CHUNKED)) { in process_bin_sasl_auth()
1878 c->item = it; in process_bin_sasl_auth()
1879 c->ritem = ITEM_data(it); in process_bin_sasl_auth()
2175 item *it; in process_bin_update() local
2210 it = item_alloc(key, nkey, req->message.body.flags, in process_bin_update()
2213 if (it == 0) { in process_bin_update()
2231 it = item_get(key, nkey, c); in process_bin_update()
2232 if (it) { in process_bin_update()
2233 item_unlink(it); in process_bin_update()
2234 item_remove(it); in process_bin_update()
2243 ITEM_set_cas(it, c->binary_header.request.cas); in process_bin_update()
2259 if (ITEM_get_cas(it) != 0) { in process_bin_update()
2263 c->item = it; in process_bin_update()
2264 c->ritem = ITEM_data(it); in process_bin_update()
2274 item *it; in process_bin_append_prepend() local
2290 it = item_alloc(key, nkey, 0, 0, vlen+2); in process_bin_append_prepend()
2292 if (it == 0) { in process_bin_append_prepend()
2305 ITEM_set_cas(it, c->binary_header.request.cas); in process_bin_append_prepend()
2318 c->item = it; in process_bin_append_prepend()
2319 c->ritem = ITEM_data(it); in process_bin_append_prepend()
2361 item *it; in process_bin_delete() local
2383 it = item_get(key, nkey, c); in process_bin_delete()
2384 if (it) { in process_bin_delete()
2386 if (cas == 0 || cas == ITEM_get_cas(it)) { in process_bin_delete()
2387 MEMCACHED_COMMAND_DELETE(c->sfd, ITEM_key(it), it->nkey); in process_bin_delete()
2389 c->thread->stats.slab_stats[ITEM_clsid(it)].delete_hits++; in process_bin_delete()
2391 item_unlink(it); in process_bin_delete()
2396 item_remove(it); /* release our reference */ in process_bin_delete()
2559 enum store_item_type do_store_item(item *it, int comm, conn *c, const uint32_t hv) { in do_store_item() argument
2560 char *key = ITEM_key(it); in do_store_item()
2561 item *old_it = do_item_get(key, it->nkey, hv, c); in do_store_item()
2583 else if (ITEM_get_cas(it) == ITEM_get_cas(old_it)) { in do_store_item()
2591 item_replace(old_it, it, hv); in do_store_item()
2601 (unsigned long long)ITEM_get_cas(it)); in do_store_item()
2615 if (ITEM_get_cas(it) != 0) { in do_store_item()
2617 if (ITEM_get_cas(it) != ITEM_get_cas(old_it)) { in do_store_item()
2628 …new_it = do_item_alloc(key, it->nkey, flags, old_it->exptime, it->nbytes + old_it->nbytes - 2 /* C… in do_store_item()
2635 _store_item_copy_data(comm, old_it, new_it, it); in do_store_item()
2637 it = new_it; in do_store_item()
2644 item_replace(old_it, it, hv); in do_store_item()
2646 do_item_link(it, hv); in do_store_item()
2648 c->cas = ITEM_get_cas(it); in do_store_item()
2660 c->cas = ITEM_get_cas(it); in do_store_item()
2663 stored, comm, ITEM_key(it), it->nkey); in do_store_item()
3147 item *it; in process_get_command() local
3166 it = item_get(key, nkey, c); in process_get_command()
3168 stats_prefix_record_get(key, nkey, NULL != it); in process_get_command()
3170 if (it) { in process_get_command()
3180 item_remove(it); in process_get_command()
3195 MEMCACHED_COMMAND_GET(c->sfd, ITEM_key(it), it->nkey, in process_get_command()
3196 it->nbytes, ITEM_get_cas(it)); in process_get_command()
3208 item_remove(it); in process_get_command()
3219 item_remove(it); in process_get_command()
3228 (unsigned long long)ITEM_get_cas(it)); in process_get_command()
3230 add_iov(c, ITEM_key(it), it->nkey) != 0 || in process_get_command()
3231 add_iov(c, ITEM_suffix(it), it->nsuffix - 2) != 0 || in process_get_command()
3234 item_remove(it); in process_get_command()
3237 if ((it->it_flags & ITEM_CHUNKED) == 0) { in process_get_command()
3238 add_iov(c, ITEM_data(it), it->nbytes); in process_get_command()
3239 } else if (add_chunked_item_iovs(c, it, it->nbytes) != 0) { in process_get_command()
3240 item_remove(it); in process_get_command()
3246 MEMCACHED_COMMAND_GET(c->sfd, ITEM_key(it), it->nkey, in process_get_command()
3247 it->nbytes, ITEM_get_cas(it)); in process_get_command()
3249 add_iov(c, ITEM_key(it), it->nkey) != 0) in process_get_command()
3251 item_remove(it); in process_get_command()
3254 if ((it->it_flags & ITEM_CHUNKED) == 0) in process_get_command()
3256 if (add_iov(c, ITEM_suffix(it), it->nsuffix + it->nbytes) != 0) in process_get_command()
3258 item_remove(it); in process_get_command()
3261 } else if (add_iov(c, ITEM_suffix(it), it->nsuffix) != 0 || in process_get_command()
3262 add_chunked_item_iovs(c, it, it->nbytes) != 0) { in process_get_command()
3263 item_remove(it); in process_get_command()
3272 for (ii = 0; ii < it->nkey; ++ii) { in process_get_command()
3280 c->thread->stats.slab_stats[ITEM_clsid(it)].get_hits++; in process_get_command()
3283 item_update(it); in process_get_command()
3284 *(c->ilist + i) = it; in process_get_command()
3342 item *it; in process_update_command() local
3390 it = item_alloc(key, nkey, flags, realtime(exptime), vlen); in process_update_command()
3392 if (it == 0) { in process_update_command()
3410 it = item_get(key, nkey, c); in process_update_command()
3411 if (it) { in process_update_command()
3412 item_unlink(it); in process_update_command()
3413 item_remove(it); in process_update_command()
3419 ITEM_set_cas(it, req_cas_id); in process_update_command()
3421 c->item = it; in process_update_command()
3422 c->ritem = ITEM_data(it); in process_update_command()
3423 c->rlbytes = it->nbytes; in process_update_command()
3432 item *it; in process_touch_command() local
3451 it = item_touch(key, nkey, realtime(exptime_int), c); in process_touch_command()
3452 if (it) { in process_touch_command()
3453 item_update(it); in process_touch_command()
3456 c->thread->stats.slab_stats[ITEM_clsid(it)].touch_hits++; in process_touch_command()
3460 item_remove(it); in process_touch_command()
3538 item *it; in do_add_delta() local
3540 it = do_item_get(key, nkey, hv, c); in do_add_delta()
3541 if (!it) { in do_add_delta()
3547 if (it->nbytes <= 2 || (it->it_flags & ITEM_CHUNKED) != 0) { in do_add_delta()
3551 if (cas != NULL && *cas != 0 && ITEM_get_cas(it) != *cas) { in do_add_delta()
3552 do_item_remove(it); in do_add_delta()
3556 ptr = ITEM_data(it); in do_add_delta()
3559 do_item_remove(it); in do_add_delta()
3565 MEMCACHED_COMMAND_INCR(c->sfd, ITEM_key(it), it->nkey, value); in do_add_delta()
3572 MEMCACHED_COMMAND_DECR(c->sfd, ITEM_key(it), it->nkey, value); in do_add_delta()
3577 c->thread->stats.slab_stats[ITEM_clsid(it)].incr_hits++; in do_add_delta()
3579 c->thread->stats.slab_stats[ITEM_clsid(it)].decr_hits++; in do_add_delta()
3588 if (res + 2 <= it->nbytes && it->refcount == 2) { /* replace in-place */ in do_add_delta()
3594 item_stats_sizes_remove(it); in do_add_delta()
3595 ITEM_set_cas(it, (settings.use_cas) ? get_cas_id() : 0); in do_add_delta()
3596 item_stats_sizes_add(it); in do_add_delta()
3597 memcpy(ITEM_data(it), buf, res); in do_add_delta()
3598 memset(ITEM_data(it) + res, ' ', it->nbytes - res - 2); in do_add_delta()
3599 do_item_update(it); in do_add_delta()
3600 } else if (it->refcount > 1) { in do_add_delta()
3602 uint32_t flags = (uint32_t) strtoul(ITEM_suffix(it)+1, (char **) NULL, 10); in do_add_delta()
3603 new_it = do_item_alloc(ITEM_key(it), it->nkey, flags, it->exptime, res + 2); in do_add_delta()
3605 do_item_remove(it); in do_add_delta()
3610 item_replace(it, new_it, hv); in do_add_delta()
3613 ITEM_set_cas(it, (settings.use_cas) ? ITEM_get_cas(new_it) : 0); in do_add_delta()
3621 if (it->refcount == 1) in do_add_delta()
3622 do_item_remove(it); in do_add_delta()
3627 *cas = ITEM_get_cas(it); /* swap the incoming CAS value */ in do_add_delta()
3629 do_item_remove(it); /* release our reference */ in do_add_delta()
3636 item *it; in process_delete_command() local
3665 it = item_get(key, nkey, c); in process_delete_command()
3666 if (it) { in process_delete_command()
3667 MEMCACHED_COMMAND_DELETE(c->sfd, ITEM_key(it), it->nkey); in process_delete_command()
3670 c->thread->stats.slab_stats[ITEM_clsid(it)].delete_hits++; in process_delete_command()
3673 item_unlink(it); in process_delete_command()
3674 item_remove(it); /* release our reference */ in process_delete_command()