packrat Yes I was doing that, but for me if the child is initiating the communication it makes sense to signal up/over/out. However, I am not sure if it is the parent who initiates if it is still better to signal or just use return value.
I guess for me using return value seems fairly safe if you use same principles as call/signal.
I guess for me return seems better if the parent is wanting information. Signal would seem to be preferable if the child wants to initiate contact or the parent wants to tell the child to initiate contact somewhere else.
Return
Parent.get_smth() -> child.give_smth() return smth
Signal
Child.contact() emit_signal("call") -> parent.listen()
Or
Parent.do_smth() -> child.contact() emit_signal -> other_node.listen()
That is how I visualize use case, but I have just begun to look at return, and am wanting to know is my thinking flawed, or does this follow good coding practices. With my current understanding of things it seems as long as there isn't potential for the calling node to be deleted before a return is finished there shouldn't be an issue where the return can't send a value back, and since return doesn't care who it returns value to it should have similar decoupling as signals.
I guess if my thinking is flawed I'd love to have my thoughts elucidated.