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

Feat: added BundleTailHash to Transaction metadata

parent 8b7c48c2
Branches
Tags
No related merge requests found
...@@ -13,18 +13,20 @@ import ( ...@@ -13,18 +13,20 @@ import (
// region type definition and constructor ////////////////////////////////////////////////////////////////////////////// // region type definition and constructor //////////////////////////////////////////////////////////////////////////////
type TransactionMetadata struct { type TransactionMetadata struct {
hash ternary.Trytes hash ternary.Trytes
hashMutex sync.RWMutex hashMutex sync.RWMutex
receivedTime time.Time bundleTailHash ternary.Trytes
receivedTimeMutex sync.RWMutex bundleTailHashMutex sync.RWMutex
solid bool receivedTime time.Time
solidMutex sync.RWMutex receivedTimeMutex sync.RWMutex
liked bool solid bool
likedMutex sync.RWMutex solidMutex sync.RWMutex
finalized bool liked bool
finalizedMutex sync.RWMutex likedMutex sync.RWMutex
modified bool finalized bool
modifiedMutex sync.RWMutex finalizedMutex sync.RWMutex
modified bool
modifiedMutex sync.RWMutex
} }
func New(hash ternary.Trytes) *TransactionMetadata { func New(hash ternary.Trytes) *TransactionMetadata {
...@@ -65,6 +67,29 @@ func (metadata *TransactionMetadata) SetHash(hash ternary.Trytes) { ...@@ -65,6 +67,29 @@ func (metadata *TransactionMetadata) SetHash(hash ternary.Trytes) {
} }
} }
func (metadata *TransactionMetadata) GetBundleTailHash() ternary.Trytes {
metadata.bundleTailHashMutex.RLock()
defer metadata.bundleTailHashMutex.RUnlock()
return metadata.bundleTailHash
}
func (metadata *TransactionMetadata) SetBundleTailHash(bundleTailHash ternary.Trytes) {
metadata.bundleTailHashMutex.RLock()
if metadata.bundleTailHash != bundleTailHash {
metadata.bundleTailHashMutex.RUnlock()
metadata.bundleTailHashMutex.Lock()
defer metadata.bundleTailHashMutex.Unlock()
if metadata.bundleTailHash != bundleTailHash {
metadata.bundleTailHash = bundleTailHash
metadata.SetModified(true)
}
} else {
metadata.bundleTailHashMutex.RUnlock()
}
}
func (metadata *TransactionMetadata) GetReceivedTime() time.Time { func (metadata *TransactionMetadata) GetReceivedTime() time.Time {
metadata.receivedTimeMutex.RLock() metadata.receivedTimeMutex.RLock()
defer metadata.receivedTimeMutex.RUnlock() defer metadata.receivedTimeMutex.RUnlock()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment