1
0
mirror of https://github.com/craigerl/aprsd.git synced 2026-02-25 18:50:21 -05:00

update the keepalive for kiss

This commit is contained in:
Walter Boring 2026-02-18 14:00:52 -05:00
parent c99a9c919d
commit 2b7e42802b
5 changed files with 22 additions and 8 deletions

View File

@ -157,7 +157,12 @@ class APRSISDriver:
return self._client.server_string
@property
def keepalive(self):
def keepalive(self) -> datetime.datetime:
"""Get the keepalive timestamp.
Returns:
datetime.datetime: Last keepalive timestamp
"""
if not self._client:
return datetime.datetime.now()
return self._client.aprsd_keepalive

View File

@ -25,7 +25,7 @@ class KISSDriver(metaclass=trace.TraceWrapperMetaclass):
packets_sent = 0
last_packet_sent = None
last_packet_received = None
keepalive = None
_keepalive = None
# timeout in seconds
select_timeout = 1
@ -38,7 +38,16 @@ class KISSDriver(metaclass=trace.TraceWrapperMetaclass):
"""
super().__init__()
self._connected = False
self.keepalive = datetime.datetime.now()
self._keepalive = datetime.datetime.now()
@property
def keepalive(self) -> datetime.datetime:
"""Get the keepalive timestamp.
Returns:
datetime.datetime: Last keepalive timestamp
"""
return self._keepalive
def login_success(self) -> bool:
"""There is no login for KISS."""
@ -153,7 +162,7 @@ class KISSDriver(metaclass=trace.TraceWrapperMetaclass):
Dict containing client statistics
"""
if serializable:
keepalive = self.keepalive.isoformat()
keepalive = self._keepalive.isoformat() if self._keepalive else 'None'
if self.last_packet_sent:
last_packet_sent = self.last_packet_sent.isoformat()
else:
@ -163,7 +172,7 @@ class KISSDriver(metaclass=trace.TraceWrapperMetaclass):
else:
last_packet_received = 'None'
else:
keepalive = self.keepalive
keepalive = self._keepalive
last_packet_sent = self.last_packet_sent
last_packet_received = self.last_packet_received

View File

@ -50,7 +50,7 @@ class SerialKISSDriver(KISSDriver):
"""
super().__init__()
self._connected = False
self.keepalive = datetime.datetime.now()
# keepalive is set in parent KISSDriver.__init__()
# This is initialized in setup_connection()
self.socket = None

View File

@ -55,7 +55,7 @@ class TCPKISSDriver(KISSDriver):
"""
super().__init__()
self._connected = False
self.keepalive = datetime.datetime.now()
# keepalive is set in parent KISSDriver.__init__()
# This is initialized in setup_connection()
self.socket = None

View File

@ -270,7 +270,7 @@ class TestTCPKISSDriver(unittest.TestCase):
def test_stats_serializable(self):
"""Test stats with serializable=True converts datetime to ISO format."""
self.driver.keepalive = datetime.datetime.now()
self.driver._keepalive = datetime.datetime.now()
stats = self.driver.stats(serializable=True)