Exported event and resource fields

graph-rework
noah metz 2023-06-18 19:04:21 -06:00
parent a2a4628855
commit ca038062a7
2 changed files with 21 additions and 21 deletions

@ -26,9 +26,9 @@ func (event * BaseEvent) update(signal GraphSignal) {
} }
} else { } else {
// Parent->Child // Parent->Child
event.child_lock.Lock() event.ChildrenSliceLock.Lock()
defer event.child_lock.Unlock() defer event.ChildrenSliceLock.Unlock()
for _, child := range(event.children) { for _, child := range(event.ChildrenSlice) {
SendUpdate(child, signal) SendUpdate(child, signal)
} }
} }
@ -308,9 +308,9 @@ type BaseEvent struct {
done_resource Resource done_resource Resource
rr_lock sync.Mutex rr_lock sync.Mutex
required_resources []Resource required_resources []Resource
children []Event ChildrenSlice []Event
child_info map[string]EventInfo ChildInfoMap map[string]EventInfo
child_lock sync.Mutex ChildrenSliceLock sync.Mutex
actions map[string]func() (string, error) actions map[string]func() (string, error)
handlers map[string]func(GraphSignal) (string, error) handlers map[string]func(GraphSignal) (string, error)
parent Event parent Event
@ -349,8 +349,8 @@ func NewBaseEvent(name string, description string, required_resources []Resource
event := BaseEvent{ event := BaseEvent{
BaseNode: NewBaseNode(name, description, randid()), BaseNode: NewBaseNode(name, description, randid()),
parent: nil, parent: nil,
children: []Event{}, ChildrenSlice: []Event{},
child_info: map[string]EventInfo{}, ChildInfoMap: map[string]EventInfo{},
done_resource: done_resource, done_resource: done_resource,
required_resources: required_resources, required_resources: required_resources,
actions: map[string]func()(string, error){}, actions: map[string]func()(string, error){},
@ -510,11 +510,11 @@ func (event * BaseEvent) DoneResource() Resource {
} }
func (event * BaseEvent) Children() []Event { func (event * BaseEvent) Children() []Event {
return event.children return event.ChildrenSlice
} }
func (event * BaseEvent) ChildInfo(idx Event) EventInfo { func (event * BaseEvent) ChildInfo(idx Event) EventInfo {
val, ok := event.child_info[idx.ID()] val, ok := event.ChildInfoMap[idx.ID()]
if ok == false { if ok == false {
return nil return nil
} }
@ -522,11 +522,11 @@ func (event * BaseEvent) ChildInfo(idx Event) EventInfo {
} }
func (event * BaseEvent) LockChildren() { func (event * BaseEvent) LockChildren() {
event.child_lock.Lock() event.ChildrenSliceLock.Lock()
} }
func (event * BaseEvent) UnlockChildren() { func (event * BaseEvent) UnlockChildren() {
event.child_lock.Unlock() event.ChildrenSliceLock.Unlock()
} }
func (event * BaseEvent) LockParent() { func (event * BaseEvent) LockParent() {
@ -542,8 +542,8 @@ func (event * BaseEvent) setParent(parent Event) {
} }
func (event * BaseEvent) addChild(child Event, info EventInfo) { func (event * BaseEvent) addChild(child Event, info EventInfo) {
event.children = append(event.children, child) event.ChildrenSlice = append(event.ChildrenSlice, child)
event.child_info[child.ID()] = info event.ChildInfoMap[child.ID()] = info
} }
type GQLEvent struct { type GQLEvent struct {

@ -25,9 +25,9 @@ func (resource * BaseResource) update(signal GraphSignal) {
SendUpdate(resource.lock_holder, signal) SendUpdate(resource.lock_holder, signal)
} }
resource.children_lock.Lock() resource.ChildrenSliceLock.Lock()
defer resource.children_lock.Unlock() defer resource.ChildrenSliceLock.Unlock()
for _, child := range(resource.children) { for _, child := range(resource.ChildrenSlice) {
SendUpdate(child, signal) SendUpdate(child, signal)
} }
} }
@ -150,8 +150,8 @@ type BaseResource struct {
BaseNode BaseNode
parents []Resource parents []Resource
parents_lock sync.Mutex parents_lock sync.Mutex
children []Resource ChildrenSlice []Resource
children_lock sync.Mutex ChildrenSliceLock sync.Mutex
lock_holder GraphNode lock_holder GraphNode
lock_holder_lock sync.Mutex lock_holder_lock sync.Mutex
state_lock sync.Mutex state_lock sync.Mutex
@ -189,7 +189,7 @@ func (resource * BaseResource) unlock(node GraphNode) error {
} }
func (resource * BaseResource) Children() []Resource { func (resource * BaseResource) Children() []Resource {
return resource.children return resource.ChildrenSlice
} }
func (resource * BaseResource) Parents() []Resource { func (resource * BaseResource) Parents() []Resource {
@ -213,7 +213,7 @@ func NewBaseResource(name string, description string, children []Resource) BaseR
resource := BaseResource{ resource := BaseResource{
BaseNode: NewBaseNode(name, description, randid()), BaseNode: NewBaseNode(name, description, randid()),
parents: []Resource{}, parents: []Resource{},
children: children, ChildrenSlice: children,
} }
return resource return resource