From: Simon Marchi Date: Mon, 9 Sep 2019 17:23:11 +0000 (-0400) Subject: bt2: remove _GenericMessageIterator abstraction level X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=1975af3df60dddf3527b4f4af9a4686b0e7aebe8 bt2: remove _GenericMessageIterator abstraction level We used to have two message iterator types sharing a lot, _OutputPortMessageIterator and _UserComponentInputPortMessageIterator, so they shared some code in the name of _GenericMessageIterator. _OutputPortMessageIterator is no more, so the _GenericMessageIterator abstraction is not useful anymore. Rename to _UserComponentInputPortMessageIterator and remove all the templating. Change-Id: If626aeac881ab2ca478a196a53047b4bcf3b7a65 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/2018 Tested-by: jenkins Reviewed-by: Francis Deslauriers Reviewed-by: Philippe Proulx --- diff --git a/src/bindings/python/bt2/bt2/message_iterator.py b/src/bindings/python/bt2/bt2/message_iterator.py index 284a7d94..3a3a2a43 100644 --- a/src/bindings/python/bt2/bt2/message_iterator.py +++ b/src/bindings/python/bt2/bt2/message_iterator.py @@ -36,7 +36,14 @@ class _MessageIterator(collections.abc.Iterator): raise NotImplementedError -class _GenericMessageIterator(object._SharedObject, _MessageIterator): +class _UserComponentInputPortMessageIterator(object._SharedObject, _MessageIterator): + _get_ref = staticmethod( + native_bt.self_component_port_input_message_iterator_get_ref + ) + _put_ref = staticmethod( + native_bt.self_component_port_input_message_iterator_put_ref + ) + def __init__(self, ptr): self._current_msgs = [] self._at = 0 @@ -44,7 +51,9 @@ class _GenericMessageIterator(object._SharedObject, _MessageIterator): def __next__(self): if len(self._current_msgs) == self._at: - status, msgs = self._get_msg_range(self._ptr) + status, msgs = native_bt.bt2_self_component_port_input_get_msg_range( + self._ptr + ) utils._handle_func_status( status, 'unexpected error: cannot advance the message iterator' ) @@ -57,7 +66,9 @@ class _GenericMessageIterator(object._SharedObject, _MessageIterator): return bt2_message._create_from_ptr(msg_ptr) def can_seek_beginning(self): - status, res = self._can_seek_beginning(self._ptr) + status, res = native_bt.self_component_port_input_message_iterator_can_seek_beginning( + self._ptr + ) utils._handle_func_status( status, 'cannot check whether or not message iterator can seek its beginning', @@ -69,27 +80,12 @@ class _GenericMessageIterator(object._SharedObject, _MessageIterator): self._current_msgs.clear() self._at = 0 - status = self._seek_beginning(self._ptr) + status = native_bt.self_component_port_input_message_iterator_seek_beginning( + self._ptr + ) utils._handle_func_status(status, 'cannot seek message iterator beginning') -# This is created when a component wants to iterate on one of its input ports. -class _UserComponentInputPortMessageIterator(_GenericMessageIterator): - _get_msg_range = staticmethod(native_bt.bt2_self_component_port_input_get_msg_range) - _get_ref = staticmethod( - native_bt.self_component_port_input_message_iterator_get_ref - ) - _put_ref = staticmethod( - native_bt.self_component_port_input_message_iterator_put_ref - ) - _can_seek_beginning = staticmethod( - native_bt.self_component_port_input_message_iterator_can_seek_beginning - ) - _seek_beginning = staticmethod( - native_bt.self_component_port_input_message_iterator_seek_beginning - ) - - # This is extended by the user to implement component classes in Python. It # is created for a given output port when an input port message iterator is # created on the input port on the other side of the connection. It is also