mirror of
https://github.com/liberatedsystems/openCom-Companion.git
synced 2024-11-25 14:50:37 +01:00
Added periodic multicast lock check
This commit is contained in:
parent
8727334ba6
commit
5ca3153eff
@ -194,6 +194,7 @@ class SidebandService():
|
|||||||
def take_locks(self, force_multicast=False):
|
def take_locks(self, force_multicast=False):
|
||||||
if RNS.vendor.platformutils.get_platform() == "android":
|
if RNS.vendor.platformutils.get_platform() == "android":
|
||||||
if self.multicast_lock == None or force_multicast:
|
if self.multicast_lock == None or force_multicast:
|
||||||
|
RNS.log("Creating multicast lock", RNS.LOG_DEBUG)
|
||||||
self.multicast_lock = self.wifi_manager.createMulticastLock("sideband_service")
|
self.multicast_lock = self.wifi_manager.createMulticastLock("sideband_service")
|
||||||
|
|
||||||
if not self.multicast_lock.isHeld():
|
if not self.multicast_lock.isHeld():
|
||||||
@ -203,6 +204,7 @@ class SidebandService():
|
|||||||
RNS.log("Multicast lock already held", RNS.LOG_DEBUG)
|
RNS.log("Multicast lock already held", RNS.LOG_DEBUG)
|
||||||
|
|
||||||
if self.wake_lock == None:
|
if self.wake_lock == None:
|
||||||
|
RNS.log("Creating wake lock", RNS.LOG_DEBUG)
|
||||||
self.wake_lock = self.power_manager.newWakeLock(self.power_manager.PARTIAL_WAKE_LOCK, "sideband_service")
|
self.wake_lock = self.power_manager.newWakeLock(self.power_manager.PARTIAL_WAKE_LOCK, "sideband_service")
|
||||||
|
|
||||||
if not self.wake_lock.isHeld():
|
if not self.wake_lock.isHeld():
|
||||||
|
@ -2377,10 +2377,22 @@ class SidebandCore():
|
|||||||
def _service_jobs(self):
|
def _service_jobs(self):
|
||||||
if self.is_service:
|
if self.is_service:
|
||||||
last_usb_discovery = time.time()
|
last_usb_discovery = time.time()
|
||||||
|
last_multicast_lock_check = time.time()
|
||||||
while True:
|
while True:
|
||||||
time.sleep(SidebandCore.SERVICE_JOB_INTERVAL)
|
time.sleep(SidebandCore.SERVICE_JOB_INTERVAL)
|
||||||
now = time.time()
|
now = time.time()
|
||||||
|
|
||||||
|
if self.interface_local.carrier_changed:
|
||||||
|
RNS.log("AutoInterface carrier change detected, retaking wake locks", RNS.LOG_DEBUG)
|
||||||
|
self.owner_service.take_locks(force_multicast=True)
|
||||||
|
self.interface_local.carrier_changed = False
|
||||||
|
last_multicast_lock_check = now
|
||||||
|
|
||||||
|
if (now - last_multicast_lock_check > 120):
|
||||||
|
RNS.log("Checking multicast and wake locks", RNS.LOG_DEBUG)
|
||||||
|
self.owner_service.take_locks()
|
||||||
|
last_multicast_lock_check = now
|
||||||
|
|
||||||
announce_wanted = self.getstate("wants.announce")
|
announce_wanted = self.getstate("wants.announce")
|
||||||
announce_attached_interface = None
|
announce_attached_interface = None
|
||||||
announce_delay = 0
|
announce_delay = 0
|
||||||
@ -2392,10 +2404,6 @@ class SidebandCore():
|
|||||||
|
|
||||||
if hasattr(self, "interface_local") and self.interface_local != None:
|
if hasattr(self, "interface_local") and self.interface_local != None:
|
||||||
have_peers = len(self.interface_local.peers) > 0
|
have_peers = len(self.interface_local.peers) > 0
|
||||||
if self.interface_local.carrier_changed:
|
|
||||||
RNS.log("AutoInterface carrier change detected, retaking wake locks", RNS.LOG_DEBUG)
|
|
||||||
self.owner_service.take_locks(force_multicast=True)
|
|
||||||
self.interface_local.carrier_changed = False
|
|
||||||
|
|
||||||
if hasattr(self.interface_local, "had_peers"):
|
if hasattr(self.interface_local, "had_peers"):
|
||||||
if not self.interface_local.had_peers and have_peers:
|
if not self.interface_local.had_peers and have_peers:
|
||||||
|
Loading…
Reference in New Issue
Block a user