aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/state_impl/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/proxy/state_impl/base.py')
-rw-r--r--src/hydrilla/proxy/state_impl/base.py17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/hydrilla/proxy/state_impl/base.py b/src/hydrilla/proxy/state_impl/base.py
index 788a93d..1ae08cb 100644
--- a/src/hydrilla/proxy/state_impl/base.py
+++ b/src/hydrilla/proxy/state_impl/base.py
@@ -51,9 +51,7 @@ from .. import policies
PolicyTree = pattern_tree.PatternTree[policies.PolicyFactory]
-
-#PayloadsDataMap = Map[state.PayloadRef, state.PayloadData]
-DataById = t.Mapping[str, state.PayloadData]
+PayloadsData = t.Mapping[state.PayloadRef, state.PayloadData]
# mypy needs to be corrected:
# https://stackoverflow.com/questions/70999513/conflict-between-mix-ins-for-abstract-dataclasses/70999704#70999704
@@ -65,9 +63,8 @@ class HaketiloStateWithFields(state.HaketiloState):
current_cursor: t.Optional[sqlite3.Cursor] = None
#settings: state.HaketiloGlobalSettings
- policy_tree: PolicyTree = PolicyTree()
- #payloads_data: PayloadsDataMap = Map()
- payloads_data: DataById = dc.field(default_factory=dict)
+ policy_tree: PolicyTree = PolicyTree()
+ payloads_data: PayloadsData = dc.field(default_factory=dict)
lock: threading.RLock = dc.field(default_factory=threading.RLock)
@@ -77,9 +74,7 @@ class HaketiloStateWithFields(state.HaketiloState):
"""...."""
start_transaction = transaction and not self.connection.in_transaction
- try:
- self.lock.acquire()
-
+ with self.lock:
if self.current_cursor is not None:
yield self.current_cursor
return
@@ -102,9 +97,7 @@ class HaketiloStateWithFields(state.HaketiloState):
raise
finally:
self.current_cursor = None
- finally:
- self.lock.release()
- def rebuild_structures(self, cursor: sqlite3.Cursor) -> None:
+ def recompute_payloads(self, cursor: sqlite3.Cursor) -> None:
"""...."""
...