TypedThriftMessage<cpp2::McTouchRequest> convertToTyped( const McRequest& req, McOperation<mc_op_touch>) { TypedThriftMessage<cpp2::McTouchRequest> treq; treq->key = req.key().clone(); if (req.exptime() != 0) { treq->__isset.exptime = true; treq->exptime = req.exptime(); } return treq; }
void AsciiSerializedRequest::prepareImpl(const McRequest& request, McOperation<mc_op_delete>) { auto len = snprintf(printBuffer_, kMaxBufferLength, " %u\r\n", request.exptime()); assert(len > 0 && len < kMaxBufferLength); addStrings("delete ", request.fullKey(), folly::StringPiece(printBuffer_, static_cast<size_t>(len))); }
void AsciiSerializedRequest::prepareImpl(const McRequest& request, McOperation<mc_op_cas>) { auto value = request.valueRangeSlow(); auto len = snprintf(printBuffer_, kMaxBufferLength, " %lu %u %zd %lu\r\n", request.flags(), request.exptime(), value.size(), request.cas()); assert(len > 0 && len < kMaxBufferLength); addStrings("cas ", request.fullKey(), folly::StringPiece(printBuffer_, static_cast<size_t>(len)), value, "\r\n"); }
MockMc::Item::Item(const McRequest& req) : value(req.value().clone()), exptime(req.exptime() > 0 ? req.exptime() + time(nullptr) : 0), flags(req.flags()) { }