void elliptics_service_t::on_bulk_read_completed(deferred<std::map<std::string, std::string> > promise, const key_name_map &keys, const ioremap::elliptics::sync_read_result &result, const ioremap::elliptics::error_info &error) { if (error) { promise.abort(-error.code(), error.message()); } else { std::map<std::string, std::string> read_result; for (size_t i = 0; i < result.size(); ++i) { const auto &entry = result[i]; const auto &id = reinterpret_cast<const dnet_raw_id &>(entry.command()->id); auto it = keys.find(id); if (it == keys.end()) { continue; } read_result[it->second] = entry.file().to_string(); } promise.write(read_result); } }
void elliptics_service_t::on_find_completed(deferred<std::vector<std::string> > promise, const ioremap::elliptics::sync_find_indexes_result &result, const ioremap::elliptics::error_info &error) { if (error) { promise.abort(-error.code(), error.message()); } else { promise.write(storage::elliptics_storage_t::convert_list_result(result)); } }
void elliptics_service_t::on_remove_completed(deferred<void> promise, const ioremap::elliptics::sync_remove_result &, const ioremap::elliptics::error_info &error) { if (error) { promise.abort(-error.code(), error.message()); } else { promise.close(); } }
void elliptics_service_t::on_read_completed(deferred<std::string> promise, const ioremap::elliptics::sync_read_result &result, const ioremap::elliptics::error_info &error) { if (error) { promise.abort(-error.code(), error.message()); } else { promise.write(result[0].file().to_string()); } }