1/*2 * Licensed to the Apache Software Foundation (ASF) under one3 * or more contributor license agreements. See the NOTICE file4 * distributed with this work for additional information5 * regarding copyright ownership. The ASF licenses this file6 * to you under the Apache License, Version 2.0 (the7 * "License"); you may not use this file except in compliance8 * with the License. You may obtain a copy of the License at9 *10 * http://www.apache.org/licenses/LICENSE-2.011 *12 * Unless required by applicable law or agreed to in writing, software13 * distributed under the License is distributed on an "AS IS" BASIS,14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15 * See the License for the specific language governing permissions and16 * limitations under the License.17 */18package org.apache.giraph.block_app.framework.api.giraph;
1920import java.io.IOException;
2122import org.apache.giraph.block_app.framework.internal.BlockWorkerLogic;
23import org.apache.giraph.block_app.framework.internal.BlockWorkerPieces;
24import org.apache.giraph.graph.AbstractComputation;
25import org.apache.giraph.graph.Vertex;
262728/**29 * Computation that executes receiver and sender blocks passed30 * into BlockWorkerPieces.31 */32 @SuppressWarnings({ "rawtypes", "unchecked" })
33publicfinalclassBlockComputationextendsAbstractComputation {
34privateBlockWorkerLogic workerLogic;
3536 @Override
37publicvoid preSuperstep() {
38BlockWorkerPieces workerPieces =
39 BlockWorkerPieces.getNextWorkerPieces(this);
40 workerLogic = newBlockWorkerLogic(workerPieces);
41BlockWorkerApiWrapper workerApi = new BlockWorkerApiWrapper<>(this);
42 workerLogic.preSuperstep(workerApi, workerApi);
43 }
4445 @Override
46publicvoid compute(Vertex vertex, Iterable messages) throws IOException {
47 workerLogic.compute(vertex, messages);
48 }
4950 @Override
51publicvoid postSuperstep() {
52 workerLogic.postSuperstep();
53 }
54 }