| 79 | |
| 80 | private: |
| 81 | std::unique_ptr<GDSComputeState> getComputeState(ExecutionContext* context, const RJBindData&, |
| 82 | RecursiveExtendSharedState* sharedState) override { |
| 83 | auto clientContext = context->clientContext; |
| 84 | auto mm = storage::MemoryManager::Get(*clientContext); |
| 85 | auto denseFrontier = |
| 86 | DenseFrontier::getUninitializedFrontier(context, sharedState->graph.get()); |
| 87 | auto frontierPair = std::make_unique<SPFrontierPair>(std::move(denseFrontier)); |
| 88 | auto bfsGraph = std::make_unique<BFSGraphManager>( |
| 89 | sharedState->graph->getMaxOffsetMap(transaction::Transaction::Get(*clientContext)), mm); |
| 90 | auto edgeCompute = |
| 91 | std::make_unique<ASPPathsEdgeCompute>(frontierPair.get(), bfsGraph.get()); |
| 92 | auto auxiliaryState = std::make_unique<PathAuxiliaryState>(std::move(bfsGraph)); |
| 93 | return std::make_unique<GDSComputeState>(std::move(frontierPair), std::move(edgeCompute), |
| 94 | std::move(auxiliaryState)); |
| 95 | } |
| 96 | |
| 97 | std::unique_ptr<RJOutputWriter> getOutputWriter(ExecutionContext* context, |
| 98 | const RJBindData& bindData, GDSComputeState& computeState, nodeID_t sourceNodeID, |
no test coverage detected