Refactor: base node#1637
Conversation
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
…Clock Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Co-authored-by: Michael Carroll <carroll.michael@gmail.com> Signed-off-by: Nadav Elkabets <32939935+nadavelkabets@users.noreply.github.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
mjcarroll
left a comment
There was a problem hiding this comment.
we need to figure out what we are doing with the .__node member here
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
|
Pulls: #1637 |
|
Pulls: #1637 |
Signed-off-by: Nadav Elkabets <elnadav12@gmail.com>
Part of #1620
Changes
BaseNodeabstract base class fromNodeBaseNodeowns the C handle, logger, parameter management, graph discovery, name resolution and validation helpersNodeowns entity lists, callback groups, executor integration,Clock/TimeSource, entity creation, entity destruction,ParameterService/LoggingService/TypeDescriptionServiceinitialization,wait_for_node, and context manager protocolget_clock()is abstract inBaseNode(returnsBaseClock), concrete inNode(returnsClock) — this letsAsyncNodeprovide its ownAsyncClock_parameter_event_publisheris typed asOptional[BasePublisher]inBaseNodeand initialized toNone, allowing subclasses to set it with their own publisher typeNotes
Node.__init__signature is unchanged;BaseNode.__init__dropsstart_parameter_services,parameter_overrides,automatically_declare_parameters_from_overrides, andenable_logger_servicesince those are executor-specific concerns