From 52940573ded66bda2e193c94aefd9b33743ffef0 Mon Sep 17 00:00:00 2001 From: "feliks.pobiedzinski@swmansion.com" Date: Thu, 23 May 2024 17:34:58 +0200 Subject: [PATCH] Reshape put_in/update_in calls in crashgroups --- .../child_life_controller/crash_group_utils.ex | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/membrane/core/parent/child_life_controller/crash_group_utils.ex b/lib/membrane/core/parent/child_life_controller/crash_group_utils.ex index 8537f7d5c..715bc1143 100644 --- a/lib/membrane/core/parent/child_life_controller/crash_group_utils.ex +++ b/lib/membrane/core/parent/child_life_controller/crash_group_utils.ex @@ -16,8 +16,7 @@ defmodule Membrane.Core.Parent.ChildLifeController.CrashGroupUtils do def add_crash_group(group_name, mode, children, state) when not is_map_key(state.crash_groups, group_name) do put_in( - state, - [:crash_groups, group_name], + state.crash_groups[group_name], %CrashGroup{ name: group_name, mode: mode, @@ -28,7 +27,7 @@ defmodule Membrane.Core.Parent.ChildLifeController.CrashGroupUtils do @spec extend_crash_group(Child.group(), [Child.name()], Parent.state()) :: Parent.state() def extend_crash_group(group_name, children, state) do - update_in(state, [:crash_groups, group_name, :members], &(children ++ &1)) + update_in(state.crash_groups[group_name].members, &(children ++ &1)) end @spec get_child_crash_group(Child.name(), Parent.state()) :: {:ok, CrashGroup.t()} | :error @@ -44,7 +43,7 @@ defmodule Membrane.Core.Parent.ChildLifeController.CrashGroupUtils do # and we will not want to have it in :crash_group_members in the callback context in handle_crash_group_down/3, # so this child is removed from :members in crash group struct members = List.delete(group.members, child_name) - state = put_in(state, [:crash_groups, group.name, :members], members) + state = put_in(state.crash_groups[group.name].members, members) if group.detonating? and Enum.all?(members, &(not Map.has_key?(state.children, &1))) do cleanup_crash_group(group.name, state) @@ -83,8 +82,7 @@ defmodule Membrane.Core.Parent.ChildLifeController.CrashGroupUtils do end) update_in( - state, - [:crash_groups, group.name], + state.crash_groups[group.name], &%CrashGroup{ &1 | detonating?: true, @@ -96,7 +94,7 @@ defmodule Membrane.Core.Parent.ChildLifeController.CrashGroupUtils do defp cleanup_crash_group(group_name, state) do state = exec_handle_crash_group_down(group_name, state) - {_group, state} = pop_in(state, [:crash_groups, group_name]) + {_group, state} = pop_in(state.crash_groups[group_name]) state end @@ -104,7 +102,7 @@ defmodule Membrane.Core.Parent.ChildLifeController.CrashGroupUtils do group_name, state ) do - crash_group = get_in(state, [:crash_groups, group_name]) + crash_group = state.crash_groups[group_name] context_generator = &Component.context_from_state(&1,