From 6b29320fd480c42f786e0c81857b9c5f119b644d Mon Sep 17 00:00:00 2001
From: David Hammer <dhammer@mailbox.org>
Date: Wed, 23 Aug 2023 13:37:53 +0200
Subject: [PATCH] Fix queue length counting, change name

---
 src/calng/CrystfelRunner.py | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/calng/CrystfelRunner.py b/src/calng/CrystfelRunner.py
index 3b8df75f..993e8d32 100644
--- a/src/calng/CrystfelRunner.py
+++ b/src/calng/CrystfelRunner.py
@@ -136,11 +136,11 @@ class CrystfelRunner(PythonDevice):
             .commit(),
 
             NODE_ELEMENT(expected)
-            .key("trainQueue")
+            .key("frameQueue")
             .commit(),
 
             UINT64_ELEMENT(expected)
-            .key("trainQueue.capacity")
+            .key("frameQueue.capacity")
             .assignmentOptional()
             .defaultValue(100)
             .commit(),
@@ -149,7 +149,7 @@ class CrystfelRunner(PythonDevice):
 
             # TODO: set this value
             DOUBLE_ELEMENT(expected)
-            .key("trainQueue.fullness")
+            .key("frameQueue.fullness")
             .description(
                 "This device maintains a queue of frames to send to CrystFEL. If "
                 "CrystFEL cannot keep up, this queue can get full and some frames will "
@@ -163,7 +163,7 @@ class CrystfelRunner(PythonDevice):
             .commit(),
 
             SLOT_ELEMENT(expected)
-            .key("trainQueue.reset")
+            .key("frameQueue.reset")
             .commit(),
 
             INPUT_CHANNEL(expected)
@@ -286,7 +286,7 @@ class CrystfelRunner(PythonDevice):
 
         self.KARABO_SLOT(self.startCrystfel)
         self.KARABO_SLOT(self.stopCrystfel)
-        self.KARABO_SLOT(self.trainQueue_reset)
+        self.KARABO_SLOT(self.frameQueue_reset)
         self.registerInitialFunction(self._initialization)
 
     def _initialization(self):
@@ -298,7 +298,7 @@ class CrystfelRunner(PythonDevice):
         self._crystfel_socket.bind(
             f"tcp://*:{self.get('crystfelArgs.zmqPort')}"
         )
-        self.trainQueue_reset()
+        self.frameQueue_reset()
         self.KARABO_ON_INPUT("input", self.input_handler)
 
         # note: loading with cfelpyutils.geometry does not tell us peak_list value
@@ -338,9 +338,9 @@ class CrystfelRunner(PythonDevice):
         self._crystfel_proc.terminate()
         self.updateState(State.STOPPED)
 
-    def trainQueue_reset(self):
-        self._crystfel_queue = queue.Queue(maxsize=self.get("trainQueue.capacity"))
-        self.set("trainQueue.fullness", 0)
+    def frameQueue_reset(self):
+        self._crystfel_queue = queue.Queue(maxsize=self.get("frameQueue.capacity"))
+        self.set("frameQueue.fullness", 0)
 
     def input_handler(self, input_channel):
         all_metadata = input_channel.getMetaData()
@@ -437,8 +437,8 @@ class CrystfelRunner(PythonDevice):
                     self._crystfel_queue.get(block=True)
                 )
                 self.set(
-                    "trainQueue.fullness",
-                    len(self._crystfel_queue) / self._crystfel_queue.maxsize * 100
+                    "frameQueue.fullness",
+                    self._crystfel_queue.qsize() / self._crystfel_queue.maxsize * 100
                 )
         threading.Thread(target=server, daemon=True).start()
 
-- 
GitLab