@@ -44,7 +44,7 @@ def __init__(
4444 action_type : Type ,
4545 action_name : str ,
4646 create_goal_handler : Callable ,
47- outcomes : Set [str ] = None ,
47+ outcomes : Set [str ] = set () ,
4848 result_handler : Callable = None ,
4949 feedback_handler : Callable = None ,
5050 callback_group : CallbackGroup = None ,
@@ -102,13 +102,12 @@ def __init__(
102102 ## Maximum number of retries.
103103 self ._maximum_retry : int = maximum_retry
104104
105- _outcomes = [SUCCEED , ABORT , CANCEL ]
105+ # Set outcomes
106+ outcomes = set (outcomes )
107+ outcomes .update ({SUCCEED , ABORT , CANCEL })
106108
107109 if self ._wait_timeout or self ._response_timeout :
108- _outcomes .append (TIMEOUT )
109-
110- if outcomes :
111- _outcomes = _outcomes + outcomes
110+ outcomes .add (TIMEOUT )
112111
113112 ## Shared pointer to the ROS 2 node.
114113 self ._node : Node = node
@@ -133,7 +132,7 @@ def __init__(
133132 if not self ._create_goal_handler :
134133 raise ValueError ("create_goal_handler is needed" )
135134
136- super ().__init__ (_outcomes )
135+ super ().__init__ (outcomes )
137136
138137 def cancel_state (self ) -> None :
139138 """
0 commit comments