Removed child_state from FindChild

graph-rework-2
noah metz 2023-07-03 18:08:32 -06:00
parent 4b64fb1ef2
commit 53b93d5e70
2 changed files with 5 additions and 6 deletions

@ -795,8 +795,7 @@ func GQLMutationSendUpdate() *graphql.Field {
var node GraphNode = nil
err := UseStates(ctx, []GraphNode{server}, func(states NodeStateMap) (error){
server_state := states[server.ID()].(*GQLThreadState)
node = FindChild(ctx, server, server_state, NodeID(id), states)
node = FindChild(ctx, server, NodeID(id), states)
if node == nil {
return fmt.Errorf("Failed to find ID: %s as child of server thread", id)
}

@ -398,7 +398,8 @@ type Thread interface {
ChildWaits() *sync.WaitGroup
}
func FindChild(ctx * GraphContext, thread Thread, thread_state ThreadState, id NodeID, states NodeStateMap) Thread {
// Requires that thread is already locked for read in UseStates
func FindChild(ctx * GraphContext, thread Thread, id NodeID, states NodeStateMap) Thread {
if thread == nil {
panic("cannot recurse through nil")
}
@ -406,12 +407,11 @@ func FindChild(ctx * GraphContext, thread Thread, thread_state ThreadState, id N
return thread
}
thread_state := thread.State().(ThreadState)
for _, child := range thread_state.Children() {
var result Thread = nil
UseMoreStates(ctx, []GraphNode{child}, states, func(states NodeStateMap) (error) {
child_state := states[child.ID()].(ThreadState)
result = FindChild(ctx, child, child_state, id, states)
result = FindChild(ctx, child, id, states)
return nil
})
if result != nil {