From c6e1fd439aa9f2e38125c675903a0dbe729ae03a Mon Sep 17 00:00:00 2001 From: tomyyyD Date: Wed, 5 Jun 2024 14:01:38 -0400 Subject: [PATCH] updating imports for priority queue class --- applications/flight/Tasks/image.py | 2 +- .../flight/lib/radio_utils/commands.py | 2 +- .../flight/lib/radio_utils/image_queue.py | 49 ++----------------- 3 files changed, 6 insertions(+), 47 deletions(-) diff --git a/applications/flight/Tasks/image.py b/applications/flight/Tasks/image.py index 5646e0f7..5a98a97d 100644 --- a/applications/flight/Tasks/image.py +++ b/applications/flight/Tasks/image.py @@ -1,5 +1,5 @@ from Tasks.log import LogTask as Task -import radio_utils.image_queue as iq +from radio_utils.image_queue import image_queue as iq from pycubed import cubesat from time import monotonic, localtime from gc import collect diff --git a/applications/flight/lib/radio_utils/commands.py b/applications/flight/lib/radio_utils/commands.py index 08a039d5..51747a77 100644 --- a/applications/flight/lib/radio_utils/commands.py +++ b/applications/flight/lib/radio_utils/commands.py @@ -8,7 +8,7 @@ from pycubed import cubesat import radio_utils from radio_utils.transmission_queue import transmission_queue as tq -from radio_utils import image_queue as iq +from radio_utils.image_queue import image_queue as iq from radio_utils import headers from radio_utils.disk_buffered_message import DiskBufferedMessage from radio_utils.memory_buffered_message import MemoryBufferedMessage diff --git a/applications/flight/lib/radio_utils/image_queue.py b/applications/flight/lib/radio_utils/image_queue.py index c57c0daa..2510620b 100644 --- a/applications/flight/lib/radio_utils/image_queue.py +++ b/applications/flight/lib/radio_utils/image_queue.py @@ -1,50 +1,9 @@ -"""The Transmission Queue is a max heap of messages to be transmitted. +"""The Image Queue is a max heap of filepaths to be transmitted. Messages must support the `__lt__`, `__le__`, `__eq__`, `__ge__`, and `__gt__` operators. This enables to the max heap to compare messages based on their priority. """ -from . import priority_queue as pq +# from . import priority_queue as pq +from .priority_queue import PriorityQueue -queue = [] -limit = 5 - -def push(msg): - """Push a msg into the transmission queue - - :param msg: The message to push - :type msg: Message | MemoryBufferedMessage | DiskBufferedMessage - """ - if len(queue) < limit: - pq.push(queue, msg) - else: - raise Exception("Queue is full") - -def peek(): - """Returns the next message to be transmitted - - :return: The next message to be transmitted - :rtype: Message | MemoryBufferedMessage | DiskBufferedMessage - """ - return queue[0] - -def pop(): - """Returns the next message to be transmitted and removes it from the transmission queue - - :return: The next message to be transmitted - :rtype: Message | MemoryBufferedMessage | DiskBufferedMessage - """ - return pq.pop(queue) - -def empty(): - """Returns if the transmission queue is empty""" - return len(queue) == 0 - -def clear(): - """Clears the transmission queue""" - global queue - queue = [] - -def size(): - """Returns the number of messages in the transmission queue""" - global queue - return len(queue) +image_queue = PriorityQueue([], 5)