Skip to content

Commit d543832

Browse files
committed
v1.2.2 - converted handler context to a dataclass for easier extensibility
1 parent cffa0e8 commit d543832

File tree

2 files changed

+5
-24
lines changed

2 files changed

+5
-24
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "koi-net"
7-
version = "1.2.1"
7+
version = "1.2.2"
88
description = "Implementation of KOI-net protocol in Python"
99
authors = [
1010
{name = "Luke Miller", email = "luke@block.science"}

src/koi_net/processor/context.py

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
from typing import TYPE_CHECKING
2+
from dataclasses import dataclass, field
3+
24
from rid_lib.ext import Cache
35

46
from ..network.resolver import NetworkResolver
@@ -14,6 +16,7 @@
1416
from ..effector import Effector
1517

1618

19+
@dataclass
1720
class HandlerContext:
1821
"""Context object provides knowledge handlers access to other components."""
1922

@@ -26,29 +29,7 @@ class HandlerContext:
2629
graph: NetworkGraph
2730
request_handler: RequestHandler
2831
resolver: NetworkResolver
29-
effector: "Effector"
30-
31-
def __init__(
32-
self,
33-
identity: NodeIdentity,
34-
config: NodeConfig,
35-
config_loader: ConfigLoader,
36-
cache: Cache,
37-
event_queue: EventQueue,
38-
kobj_queue: KobjQueue,
39-
graph: NetworkGraph,
40-
request_handler: RequestHandler,
41-
resolver: NetworkResolver
42-
):
43-
self.identity = identity
44-
self.config = config
45-
self.config_loader = config_loader
46-
self.cache = cache
47-
self.event_queue = event_queue
48-
self.kobj_queue = kobj_queue
49-
self.graph = graph
50-
self.request_handler = request_handler
51-
self.resolver = resolver
32+
effector: "Effector" = field(init=False)
5233

5334
def set_effector(self, effector: "Effector"):
5435
"""Post initialization injection of effector component."""

0 commit comments

Comments
 (0)