Skip to content

Commit

Permalink
Merge pull request #822 from DJ2LS/develop
Browse files Browse the repository at this point in the history
0.16.6
  • Loading branch information
DJ2LS authored Sep 28, 2024
2 parents fc32ca7 + 49c5a1e commit 36942bf
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 9 deletions.
2 changes: 1 addition & 1 deletion freedata_gui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "FreeDATA",
"version": "0.16.5-alpha",
"version": "0.16.6-alpha",
"description": "FreeDATA Client application for connecting to FreeDATA server",
"private": true,
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion freedata_server/arq_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ def transmit_frame(self, frame: bytearray, mode='auto'):
self.modem.transmit(mode, 1, 1, frame)

def set_state(self, state):
self.last_state_change_timestamp = time.time()
if self.state == state:
self.log(f"{type(self).__name__} state {self.state.name} unchanged.")
else:
self.last_state_change_timestamp = time.time()
self.log(f"{type(self).__name__} state change from {self.state.name} to {state.name} at {self.last_state_change_timestamp}")
self.state = state

Expand Down
15 changes: 10 additions & 5 deletions freedata_server/schedule_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,20 +116,26 @@ def update_transmission_state(self):
session = self.state_manager.arq_irs_sessions[session_id]

# set an IRS session to RESUME for being ready getting the data again
if session.is_IRS and session.last_state_change_timestamp + 90 < time.time():
self.log.warning(f"[SCHEDULE] [ARQ={session_id}] Setting state to", old_state=session.state, state=IRS_State.RESUME)
if session.is_IRS and session.last_state_change_timestamp + 90 < time.time():
try:
# if session state is already RESUME, don't set it again for avoiding a flooded cli
if session.state not in [session.state_enum.RESUME]:
self.log.info(f"[SCHEDULE] [ARQ={session_id}] Setting state to", old_state=session.state,
state=IRS_State.RESUME)
session.state = session.set_state(session.state_enum.RESUME)
session.state = session.state_enum.RESUME

# if session is received successfully, indiciated by ENDED state, delete it
if session.state in [session.state_enum.ENDED]:
session_to_be_deleted.add(session)

except Exception as e:
self.log.warning("[SCHEDULE] error setting ARQ state", error=e)

for session_id in self.state_manager.arq_iss_sessions:
session = self.state_manager.arq_iss_sessions[session_id]
if not session.is_IRS and session.last_state_change_timestamp + 90 < time.time() and session.state in [ISS_State.ABORTED, ISS_State.FAILED]:
if not session.is_IRS and session.last_state_change_timestamp + 90 < time.time() and session.state in [
ISS_State.ABORTED, ISS_State.FAILED]:
session_to_be_deleted.add(session)

# finally delete sessions
Expand All @@ -141,5 +147,4 @@ def update_transmission_state(self):
self.state_manager.remove_arq_iss_session(session.id)

except Exception as e:
self.log.warning("[SCHEDULE] error deleting ARQ session", error=e)

self.log.warning("[SCHEDULE] error deleting ARQ session", error=e)
3 changes: 2 additions & 1 deletion freedata_server/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
# Constants
CONFIG_ENV_VAR = 'FREEDATA_CONFIG'
DEFAULT_CONFIG_FILE = 'config.ini'
MODEM_VERSION = "0.16.5-alpha"

MODEM_VERSION = "0.16.6-alpha"

API_VERSION = 3
LICENSE = 'GPL3.0'
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

setup(
name='freedata',
version='0.16.3a',
version='0.16.6a1',
packages=find_packages(where='.'),
package_dir={'': '.'},
install_requires=required,
Expand Down

0 comments on commit 36942bf

Please sign in to comment.