Skip to content
Snippets Groups Projects
Commit 6132c3c1 authored by Hans Moog's avatar Hans Moog
Browse files

Refactor: cleaned up the code according to DRY

parent 491bb0fa
No related branches found
No related tags found
No related merge requests found
...@@ -264,12 +264,14 @@ func (tangle *Tangle) processValuePayloadLikedUpdateStackEntry(propagationStack ...@@ -264,12 +264,14 @@ func (tangle *Tangle) processValuePayloadLikedUpdateStackEntry(propagationStack
} }
// schedule checks of approvers and consumers // schedule checks of approvers and consumers
tangle.ForEachConsumersAndApprovers(currentPayload, func( tangle.ForEachConsumersAndApprovers(currentPayload, tangle.createValuePayloadFutureConeIterator(propagationStack, processedPayloads))
cachedPayload *payload.CachedPayload, }
cachedPayloadMetadata *CachedPayloadMetadata,
cachedTransaction *transaction.CachedTransaction, // createValuePayloadFutureConeIterator returns a function that can be handed into the ForEachConsumersAndApprovers
cachedTransactionMetadata *CachedTransactionMetadata, // method, that iterates through the next level of the future cone of the given transaction and adds the found elements
) { // to the given stack.
func (tangle *Tangle) createValuePayloadFutureConeIterator(propagationStack *list.List, processedPayloads map[payload.ID]types.Empty) func(cachedPayload *payload.CachedPayload, cachedPayloadMetadata *CachedPayloadMetadata, cachedTransaction *transaction.CachedTransaction, cachedTransactionMetadata *CachedTransactionMetadata) {
return func(cachedPayload *payload.CachedPayload, cachedPayloadMetadata *CachedPayloadMetadata, cachedTransaction *transaction.CachedTransaction, cachedTransactionMetadata *CachedTransactionMetadata) {
// automatically release cached objects when we terminate // automatically release cached objects when we terminate
defer cachedPayload.Release() defer cachedPayload.Release()
defer cachedPayloadMetadata.Release() defer cachedPayloadMetadata.Release()
...@@ -295,7 +297,7 @@ func (tangle *Tangle) processValuePayloadLikedUpdateStackEntry(propagationStack ...@@ -295,7 +297,7 @@ func (tangle *Tangle) processValuePayloadLikedUpdateStackEntry(propagationStack
cachedTransaction.Retain(), cachedTransaction.Retain(),
cachedTransactionMetadata.Retain(), cachedTransactionMetadata.Retain(),
}) })
}) }
} }
// ValuePayloadsLiked is checking if the Payloads referenced by the passed in IDs are all liked. // ValuePayloadsLiked is checking if the Payloads referenced by the passed in IDs are all liked.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment