This is stacked on top of #160, but looks more complicated than it is because it also merged in #173. Once #173 is merged, just the 4 commits from 23 Jan will show here.
Basically we add the requirement that callback functions stored on InputSignal need to be methods of the node that owns them. In practice this has always been the case, so there is no real change, and since you can put whatever method you want on
Further, the requirement that callbacks be arg-free was already stated, but now we explicitly test for it and fail hard if it's violated.
Since the callback is now guaranteed to be a method of the owning InputSignal.node attribute, we can safely store its name in our state (a mere string) instead of storing the actual function object. This will make storage easier later.
This is stacked on top of #160, but looks more complicated than it is because it also merged in #173. Once #173 is merged, just the 4 commits from 23 Jan will show here.
Basically we add the requirement that callback functions stored on
InputSignal
need to be methods of the node that owns them. In practice this has always been the case, so there is no real change, and since you can put whatever method you want onFurther, the requirement that callbacks be
arg
-free was already stated, but now we explicitly test for it and fail hard if it's violated.Since the callback is now guaranteed to be a method of the owning
InputSignal.node
attribute, we can safely store its name in our state (a mere string) instead of storing the actual function object. This will make storage easier later.