bt2: remove _GenericMessageIterator abstraction level
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 9 Sep 2019 17:23:11 +0000 (13:23 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 17 Sep 2019 19:05:53 +0000 (15:05 -0400)
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 <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/2018
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/bindings/python/bt2/bt2/message_iterator.py

index 284a7d94f88d943d8490b5ec21ba791c4edc0456..3a3a2a430681608688e68d2f79921ae63c03f398 100644 (file)
@@ -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
This page took 0.02552 seconds and 4 git commands to generate.