Github user vasia commented on a diff in the pull request:
https://github.com/apache/flink/pull/537#discussion_r28643344
--- Diff: docs/gelly_guide.md ---
@@ -380,6 +380,16 @@ all aggregates globally once per superstep and makes
them available in the next
* <strong>Broadcast Variables</strong>: DataSets can be added as
[Broadcast Variables](programming_guide.html#broadcast-variables) to the
`VertexUpdateFunction` and `MessagingFunction`, using the
`addBroadcastSetForUpdateFunction()` and
`addBroadcastSetForMessagingFunction()` methods, respectively.
+* <strong>Number of Vertices</strong>: Accessing the total number of
vertices within the iteration. This property can be set using the
`setOptNumVertices()` method.
+
+The number of vertices can then be accessed in the vertex update function
and in the messaging function using the `getNumberOfVertices()` method.
+
+* <strong>Degrees</strong>: Accessing the in/out degree for a vertex
within an iteration. This property can be set using the `setOptDegrees()`
method.
+
+The in/out degrees can then be accessed in the vertex update function and
in the messaging function, per vertex using `vertex.getInDegree()` or
`vertex.getOutDegree()`.
+
+* <strong>Messaging Direction</strong>: The direction in which messages
are sent. This can be either EdgeDirection.IN, EdgeDirection.OUT,
EdgeDirection.ALL. The messaging direction also dictates the update direction
which would be EdgeDirection.OUT, EdgeDirection.IN and EdgeDirection.ALL,
respectively. This property can be set using the `setDirection()` method.
+
--- End diff --
First, I would highlight the `EdgeDirection.IN` etc. Then, maybe we can
rephrase this to make a bit clearer. I would write something like the
following: "By default a vertex sends messages to its out-neighbors and thus,
updates its value based on received messages from its in-neighbors. This
configuration option allows to change the messaging direction and set it to
[...]. The messaging direction also dictates the update direction."
We could also add a couple of figures to illustrate the messaging-update
directions. I can create those, so that they're in the same format as the rest
of the figures in the guide.
---
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 [email protected] or file a JIRA ticket
with INFRA.
---