Github user vasia commented on a diff in the pull request: https://github.com/apache/flink/pull/537#discussion_r28644150 --- Diff: flink-staging/flink-gelly/src/main/java/org/apache/flink/graph/spargel/MessagingFunction.java --- @@ -38,25 +42,57 @@ * @param <Message> The type of the message sent between vertices along the edges. * @param <EdgeValue> The type of the values that are associated with the edges. */ -public abstract class MessagingFunction<VertexKey extends Comparable<VertexKey> & Serializable, - VertexValue extends Serializable, Message, EdgeValue extends Serializable> implements Serializable { +public abstract class MessagingFunction<VertexKey extends Comparable<VertexKey> & Serializable, + VertexValue extends Serializable, Message, EdgeValue extends Serializable> implements Serializable { private static final long serialVersionUID = 1L; - + + // -------------------------------------------------------------------------------------------- + // Attributes that allow vertices to access their in/out degrees and the total number of vertices + // inside an iteration. + // -------------------------------------------------------------------------------------------- + + private long numberOfVertices = -1L; + + public long getNumberOfVertices() throws Exception{ + if (numberOfVertices == -1) { + throw new InaccessibleMethodException("The number of vertices option is not set"); + } + return numberOfVertices; + } + + void setNumberOfVertices(long numberOfVertices) { + this.numberOfVertices = numberOfVertices; + } + + // -------------------------------------------------------------------------------------------- + // Attribute that allows the user to choose the neighborhood type(in/out/all) on which to run + // the vertex centric iteration. + // -------------------------------------------------------------------------------------------- + + private EdgeDirection direction; + + public EdgeDirection getDirection() { + return direction; + } + + public void setDirection(EdgeDirection direction) { --- End diff -- these shouldn't be public either
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---