Method Node #3693
-
|
If the method node is ns=1;i=1001, which is located in a custom node manager MyNodeManager, and its parent node is the Objects node. When executing the method call, the MasterNodeManager iterates through all registered NodeManager instances and invokes each one's CallAsync method. Is my statement correct? Is this a bug? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
Yes, that code path can happen if the
The safer model is to put the callable method on an object owned by your custom node manager and have clients call with: I would avoid hanging the method directly under |
Beta Was this translation helpful? Give feedback.
Yes, that code path can happen if the
ObjectIdin the Call request is the standardObjectsnode.MasterNodeManager.CallAsyncsends the sameCallMethodRequestlist through each node manager.AsyncCustomNodeManager.CallAsyncthen checksmethodToCall.ObjectId, notmethodToCall.MethodId, and marks the requestProcessed = trueas soon as that object belongs to the manager. SinceObjectsis namespace 0 and belongs to the core node manager, the core manager can consume the call before your custom node manager sees it. If it cannot resolve the custom method under that source object, the result becomesBadMethodInvalid/similar rather than falling through.The safer model is to put the callable met…