| 187 | void delref() override { ReferenceCounted<FDBPlugin>::delref(); } |
| 188 | |
| 189 | Reference<DocumentDeferred> findOrCreate(Reference<DocTransaction> tr, DataKey const& key) { |
| 190 | ASSERT(key.size() > 1); |
| 191 | std::string documentPrefix = key.keyPrefix(2).toString(); |
| 192 | auto deferredDocument = tr->deferredDocuments.find(documentPrefix); |
| 193 | if (deferredDocument == tr->deferredDocuments.end()) |
| 194 | deferredDocument = |
| 195 | tr->deferredDocuments |
| 196 | .insert(std::make_pair(documentPrefix, Reference<DocumentDeferred>(new DocumentDeferred()))) |
| 197 | .first; |
| 198 | return (*deferredDocument).second; |
| 199 | } |
| 200 | |
| 201 | Future<Optional<DataValue>> get(Reference<DocTransaction> tr, DataKey key) override { |
| 202 | return FDBPlugin_get(key, tr); |