@Override public SharedBufferEdge copy(SharedBufferEdge from) { return new SharedBufferEdge(from.target, from.deweyNumber); }
if (currentVersion.isCompatibleWith(edge.getDeweyNumber())) { final NodeId target = edge.getTarget(); Stack<Tuple2<NodeId, SharedBufferNode>> newPath; edge.getDeweyNumber(), newPath));
/** * Removes the {@code SharedBufferNode}, when the ref is decreased to zero, and also * decrease the ref of the edge on this node. * * @param node id of the entry * @param sharedBufferNode the node body to be removed * @throws Exception Thrown if the system cannot access the state. */ private void removeNode(NodeId node, SharedBufferNode sharedBufferNode) throws Exception { sharedBuffer.removeEntry(node); EventId eventId = node.getEventId(); releaseEvent(eventId); for (SharedBufferEdge sharedBufferEdge : sharedBufferNode.getEdges()) { releaseNode(sharedBufferEdge.getTarget()); } }
/** * Removes the {@code SharedBufferNode}, when the ref is decreased to zero, and also * decrease the ref of the edge on this node. * * @param node id of the entry * @param sharedBufferNode the node body to be removed * @throws Exception Thrown if the system cannot access the state. */ private void removeNode(NodeId node, SharedBufferNode sharedBufferNode) throws Exception { sharedBuffer.removeEntry(node); EventId eventId = node.getEventId(); releaseEvent(eventId); for (SharedBufferEdge sharedBufferEdge : sharedBufferNode.getEdges()) { releaseNode(sharedBufferEdge.getTarget()); } }
@Override public SharedBufferEdge deserialize(DataInputView source) throws IOException { NodeId target = nodeIdSerializer.deserialize(source); DeweyNumber deweyNumber = deweyNumberSerializer.deserialize(source); return new SharedBufferEdge(target, deweyNumber); }
if (currentVersion.isCompatibleWith(edge.getDeweyNumber())) { final NodeId target = edge.getTarget(); Stack<Tuple2<NodeId, SharedBufferNode>> newPath; edge.getDeweyNumber(), newPath));
/** * Removes the {@code SharedBufferNode}, when the ref is decreased to zero, and also * decrease the ref of the edge on this node. * * @param node id of the entry * @param sharedBufferNode the node body to be removed * @throws Exception Thrown if the system cannot access the state. */ private void removeNode(NodeId node, SharedBufferNode sharedBufferNode) throws Exception { sharedBuffer.removeEntry(node); EventId eventId = node.getEventId(); releaseEvent(eventId); for (SharedBufferEdge sharedBufferEdge : sharedBufferNode.getEdges()) { releaseNode(sharedBufferEdge.getTarget()); } }
Tuple2<NodeId, Lockable<SharedBufferNode>> targetEntry = targetIdx < 0 ? Tuple2.of(null, null) : entries.get(targetIdx); sourceEntry.f1.getElement().addEdge(new SharedBufferEdge(targetEntry.f0, version)); if (version.length() == 1) { starters.put(version.getRun(), sourceEntry.f0.getEventId());
if (currentVersion.isCompatibleWith(edge.getDeweyNumber())) { final NodeId target = edge.getTarget(); Stack<Tuple2<NodeId, SharedBufferNode>> newPath; edge.getDeweyNumber(), newPath));
/** * Stores given value (value + timestamp) under the given state. It assigns a preceding element * relation to the previous entry. * * @param stateName name of the state that the event should be assigned to * @param eventId unique id of event assigned by this SharedBuffer * @param previousNodeId id of previous entry (might be null if start of new run) * @param version Version of the previous relation * @return assigned id of this element */ public NodeId put( final String stateName, final EventId eventId, @Nullable final NodeId previousNodeId, final DeweyNumber version) { if (previousNodeId != null) { lockNode(previousNodeId); } NodeId currentNodeId = new NodeId(eventId, getOriginalNameFromInternal(stateName)); Lockable<SharedBufferNode> currentNode = sharedBuffer.getEntry(currentNodeId); if (currentNode == null) { currentNode = new Lockable<>(new SharedBufferNode(), 0); lockEvent(eventId); } currentNode.getElement().addEdge(new SharedBufferEdge( previousNodeId, version)); sharedBuffer.upsertEntry(currentNodeId, currentNode); return currentNodeId; }
@Override public SharedBufferEdge copy(SharedBufferEdge from) { return new SharedBufferEdge(from.target, from.deweyNumber); }
@Override public SharedBufferEdge copy(SharedBufferEdge from) { return new SharedBufferEdge(from.target, from.deweyNumber); }
@Override public SharedBufferEdge deserialize(DataInputView source) throws IOException { NodeId target = NodeId.NodeIdSerializer.INSTANCE.deserialize(source); DeweyNumber deweyNumber = DeweyNumber.DeweyNumberSerializer.INSTANCE.deserialize(source); return new SharedBufferEdge(target, deweyNumber); }
@Override public SharedBufferEdge deserialize(DataInputView source) throws IOException { NodeId target = NodeId.NodeIdSerializer.INSTANCE.deserialize(source); DeweyNumber deweyNumber = DeweyNumber.DeweyNumberSerializer.INSTANCE.deserialize(source); return new SharedBufferEdge(target, deweyNumber); }
Tuple2<NodeId, Lockable<SharedBufferNode>> targetEntry = targetIdx < 0 ? Tuple2.of(null, null) : entries.get(targetIdx); sourceEntry.f1.getElement().addEdge(new SharedBufferEdge(targetEntry.f0, version)); if (version.length() == 1) { starters.put(version.getRun(), sourceEntry.f0.getEventId());
Tuple2<NodeId, Lockable<SharedBufferNode>> targetEntry = targetIdx < 0 ? Tuple2.of(null, null) : entries.get(targetIdx); sourceEntry.f1.getElement().addEdge(new SharedBufferEdge(targetEntry.f0, version)); if (version.length() == 1) { starters.put(version.getRun(), sourceEntry.f0.getEventId());
/** * Stores given value (value + timestamp) under the given state. It assigns a preceding element * relation to the previous entry. * * @param stateName name of the state that the event should be assigned to * @param eventId unique id of event assigned by this SharedBuffer * @param previousNodeId id of previous entry (might be null if start of new run) * @param version Version of the previous relation * @return assigned id of this element */ public NodeId put( final String stateName, final EventId eventId, @Nullable final NodeId previousNodeId, final DeweyNumber version) { if (previousNodeId != null) { lockNode(previousNodeId); } NodeId currentNodeId = new NodeId(eventId, getOriginalNameFromInternal(stateName)); Lockable<SharedBufferNode> currentNode = sharedBuffer.getEntry(currentNodeId); if (currentNode == null) { currentNode = new Lockable<>(new SharedBufferNode(), 0); lockEvent(eventId); } currentNode.getElement().addEdge(new SharedBufferEdge( previousNodeId, version)); sharedBuffer.upsertEntry(currentNodeId, currentNode); return currentNodeId; }
/** * Stores given value (value + timestamp) under the given state. It assigns a preceding element * relation to the previous entry. * * @param stateName name of the state that the event should be assigned to * @param eventId unique id of event assigned by this SharedBuffer * @param previousNodeId id of previous entry (might be null if start of new run) * @param version Version of the previous relation * @return assigned id of this element */ public NodeId put( final String stateName, final EventId eventId, @Nullable final NodeId previousNodeId, final DeweyNumber version) { if (previousNodeId != null) { lockNode(previousNodeId); } NodeId currentNodeId = new NodeId(eventId, getOriginalNameFromInternal(stateName)); Lockable<SharedBufferNode> currentNode = sharedBuffer.getEntry(currentNodeId); if (currentNode == null) { currentNode = new Lockable<>(new SharedBufferNode(), 0); lockEvent(eventId); } currentNode.getElement().addEdge(new SharedBufferEdge( previousNodeId, version)); sharedBuffer.upsertEntry(currentNodeId, currentNode); return currentNodeId; }