1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.giraph.block_app.framework.api.giraph;
19
20 import java.io.IOException;
21
22 import org.apache.giraph.block_app.framework.internal.BlockWorkerLogic;
23 import org.apache.giraph.block_app.framework.internal.BlockWorkerPieces;
24 import org.apache.giraph.graph.AbstractComputation;
25 import org.apache.giraph.graph.Vertex;
26
27
28
29
30
31
32 @SuppressWarnings({ "rawtypes", "unchecked" })
33 public final class BlockComputation extends AbstractComputation {
34 private BlockWorkerLogic workerLogic;
35
36 @Override
37 public void preSuperstep() {
38 BlockWorkerPieces workerPieces =
39 BlockWorkerPieces.getNextWorkerPieces(this);
40 workerLogic = new BlockWorkerLogic(workerPieces);
41 BlockWorkerApiWrapper workerApi = new BlockWorkerApiWrapper<>(this);
42 workerLogic.preSuperstep(workerApi, workerApi);
43 }
44
45 @Override
46 public void compute(Vertex vertex, Iterable messages) throws IOException {
47 workerLogic.compute(vertex, messages);
48 }
49
50 @Override
51 public void postSuperstep() {
52 workerLogic.postSuperstep();
53 }
54 }