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

Feat: started adding cleanup methods

parent 505c75ca
No related branches found
No related tags found
No related merge requests found
......@@ -237,13 +237,8 @@ func TestAggregateAggregatedRealities(t *testing.T) {
objectstorage.WaitForWritesToFlush()
if err := ledgerState.GenerateRealityVisualization("realities1.png"); err != nil {
t.Error(err)
}
if err := NewVisualizer(ledgerState).RenderTransferOutputs("outputs1.png"); err != nil {
t.Error(err)
}
ledgerState.GenerateRealityVisualization("realities1.png")
NewVisualizer(ledgerState).RenderTransferOutputs("outputs1.png")
multiSpend(ledgerState, 2, outputs0[0], outputs1[0])
......@@ -251,13 +246,8 @@ func TestAggregateAggregatedRealities(t *testing.T) {
objectstorage.WaitForWritesToFlush()
if err := ledgerState.GenerateRealityVisualization("realities2.png"); err != nil {
t.Error(err)
}
if err := NewVisualizer(ledgerState).RenderTransferOutputs("outputs2.png"); err != nil {
t.Error(err)
}
ledgerState.GenerateRealityVisualization("realities2.png")
NewVisualizer(ledgerState).RenderTransferOutputs("outputs2.png")
}
func TestElevateAggregatedReality(t *testing.T) {
......@@ -291,13 +281,8 @@ func TestElevateAggregatedReality(t *testing.T) {
objectstorage.WaitForWritesToFlush()
if err := ledgerState.GenerateRealityVisualization("realities.png"); err != nil {
t.Error(err)
}
if err := NewVisualizer(ledgerState).RenderTransferOutputs("outputs.png"); err != nil {
t.Error(err)
}
ledgerState.GenerateRealityVisualization("realities.png")
NewVisualizer(ledgerState).RenderTransferOutputs("outputs.png")
}
func TestElevate(t *testing.T) {
......
packages/ledgerstate/outputs1.png

106 KiB | W: | H:

packages/ledgerstate/outputs1.png

106 KiB | W: | H:

packages/ledgerstate/outputs1.png
packages/ledgerstate/outputs1.png
packages/ledgerstate/outputs1.png
packages/ledgerstate/outputs1.png
  • 2-up
  • Swipe
  • Onion skin
packages/ledgerstate/outputs2.png

121 KiB | W: | H:

packages/ledgerstate/outputs2.png

121 KiB | W: | H:

packages/ledgerstate/outputs2.png
packages/ledgerstate/outputs2.png
packages/ledgerstate/outputs2.png
packages/ledgerstate/outputs2.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -16,6 +16,8 @@ type Reality struct {
id RealityId
parentRealityIds RealityIdSet
parentRealityIdsMutex sync.RWMutex
subRealityIds RealityIdSet
subRealityIdsMutex sync.RWMutex
conflictIds ConflictIdSet
conflictIdsMutex sync.RWMutex
transferOutputCount uint32
......@@ -499,23 +501,40 @@ func (reality *Reality) elevateTransferOutput(transferOutputReference *TransferO
// Private utility function that elevates the transfer output from the current reality to the new reality.
func (reality *Reality) elevateTransferOutputOfCurrentReality(transferOutput *TransferOutput, newReality *Reality) (err error) {
if err = newReality.bookTransferOutput(transferOutput); err == nil {
for transferHash, addresses := range transferOutput.GetConsumers() {
for _, addressHash := range addresses {
if elevateErr := reality.elevateTransferOutput(NewTransferOutputReference(transferHash, addressHash), newReality); elevateErr != nil {
err = elevateErr
for transferHash, addresses := range transferOutput.GetConsumers() {
for _, addressHash := range addresses {
if elevateErr := reality.elevateTransferOutput(NewTransferOutputReference(transferHash, addressHash), newReality); elevateErr != nil {
err = elevateErr
return
}
return
}
}
}
err = newReality.bookTransferOutput(transferOutput)
return
}
// endregion ///////////////////////////////////////////////////////////////////////////////////////////////////////////
func (reality *Reality) RegisterSubReality(realityId RealityId) {
reality.subRealityIdsMutex.RLock()
if _, subRealityIdExists := reality.subRealityIds[realityId]; !subRealityIdExists {
reality.subRealityIdsMutex.RLock()
reality.subRealityIdsMutex.Lock()
if _, subRealityIdExists := reality.subRealityIds[realityId]; !subRealityIdExists {
reality.subRealityIds[realityId] = void
reality.SetModified()
}
reality.subRealityIdsMutex.Unlock()
} else {
reality.subRealityIdsMutex.RUnlock()
}
}
func (reality *Reality) elevateTransferOutputOfNestedReality(transferOutput *TransferOutput, oldParentRealityId RealityId, newParentRealityId RealityId) (err error) {
if !reality.IsAggregated() {
reality.replaceParentReality(oldParentRealityId, newParentRealityId)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment