| 1672 | double getTimeEstimate() const override { return SERVER_KNOBS->READ_VALUE_TIME_ESTIMATE; } |
| 1673 | }; |
| 1674 | void action(ReadValueAction& rv) { |
| 1675 | // double t = timer(); |
| 1676 | if (rv.debugID.present()) |
| 1677 | g_traceBatch.addEvent("GetValueDebug", |
| 1678 | rv.debugID.get().first(), |
| 1679 | "Reader.Before"); //.detail("TaskID", g_network->getCurrentTask()); |
| 1680 | |
| 1681 | rv.result.send(getCursor()->get().get(rv.key)); |
| 1682 | ++counter; |
| 1683 | |
| 1684 | if (rv.debugID.present()) |
| 1685 | g_traceBatch.addEvent("GetValueDebug", |
| 1686 | rv.debugID.get().first(), |
| 1687 | "Reader.After"); //.detail("TaskID", g_network->getCurrentTask()); |
| 1688 | // t = timer()-t; |
| 1689 | // if (t >= 1.0) TraceEvent("ReadValueActionSlow",dbgid).detail("Elapsed", t); |
| 1690 | } |
| 1691 | |
| 1692 | struct ReadValuePrefixAction final : TypedAction<Reader, ReadValuePrefixAction>, |
| 1693 | FastAllocated<ReadValuePrefixAction> { |