mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-08-06 08:53:46 +02:00
refactor: use public max_size property for offline-queue retention
Prefer MessageQueue.max_size (new public property in openhop_core) over the private _max_size attribute, keeping a getattr fallback for older cores that predate the property.
This commit is contained in:
@@ -61,13 +61,18 @@ class CompanionFrameServer(_BaseFrameServer):
|
||||
async def _persist_companion_message(self, msg_dict: dict) -> None:
|
||||
"""Persist message to SQLite and pop from bridge queue.
|
||||
|
||||
The bridge's ``offline_queue_size`` (``message_queue._max_size``) doubles
|
||||
The bridge's ``offline_queue_size`` (``message_queue.max_size``) doubles
|
||||
as the SQLite retention limit: 0 disables offline storage entirely, so the
|
||||
message is dropped instead of persisted.
|
||||
"""
|
||||
if not self.sqlite_handler:
|
||||
return
|
||||
retention = getattr(self.bridge.message_queue, "_max_size", None)
|
||||
# Older cores predate the public max_size property.
|
||||
retention = getattr(
|
||||
self.bridge.message_queue,
|
||||
"max_size",
|
||||
getattr(self.bridge.message_queue, "_max_size", None),
|
||||
)
|
||||
if retention == 0:
|
||||
self.bridge.message_queue.pop_last()
|
||||
return
|
||||
|
||||
@@ -251,7 +251,7 @@ class TestPersistSkipWhenOff:
|
||||
fs.sqlite_handler = MagicMock()
|
||||
fs.companion_hash = "0x01"
|
||||
bridge = MagicMock()
|
||||
bridge.message_queue._max_size = max_size
|
||||
bridge.message_queue.max_size = max_size
|
||||
fs.bridge = bridge
|
||||
return fs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user