Skip to content

Commit d8d3c5a

Browse files
committed
Rename DispatchUpdate to DispatchInfo
Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent c03c594 commit d8d3c5a

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

RELEASE_NOTES.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ This release introduces a more flexible and powerful mechanism for managing disp
1414
* It's interface has been simplified and now only requires an actor factory and a running status receiver.
1515
* It only supports a single actor at a time now.
1616
* Refer to the updated [usage example](https://frequenz-floss.github.io/frequenz-dispatch-python/latest/reference/frequenz/dispatch/#frequenz.dispatch.DispatchActorsService) for more information.
17+
* `DispatchUpdate` was renamed to `DispatchInfo`.
1718

1819
## New Features
1920

src/frequenz/dispatch/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
1616
"""
1717

18-
from ._actor_dispatcher import ActorDispatcher, DispatchUpdate
18+
from ._actor_dispatcher import ActorDispatcher, DispatchInfo
1919
from ._dispatch import Dispatch
2020
from ._dispatcher import Dispatcher
2121
from ._event import Created, Deleted, DispatchEvent, Updated
@@ -28,5 +28,5 @@
2828
"Updated",
2929
"Dispatch",
3030
"ActorDispatcher",
31-
"DispatchUpdate",
31+
"DispatchInfo",
3232
]

src/frequenz/dispatch/_actor_dispatcher.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020

2121
@dataclass(frozen=True, kw_only=True)
22-
class DispatchUpdate:
22+
class DispatchInfo:
2323
"""Event emitted when the dispatch changes."""
2424

2525
components: TargetComponents
@@ -41,7 +41,7 @@ class ActorDispatcher(BackgroundService):
4141
import os
4242
import asyncio
4343
from typing import override
44-
from frequenz.dispatch import Dispatcher, DispatchManagingActor, DispatchUpdate
44+
from frequenz.dispatch import Dispatcher, DispatchManagingActor, DispatchInfo
4545
from frequenz.client.dispatch.types import TargetComponents
4646
from frequenz.client.common.microgrid.components import ComponentCategory
4747
from frequenz.channels import Receiver, Broadcast, select, selected_from
@@ -54,15 +54,15 @@ def __init__(
5454
name: str | None = None,
5555
) -> None:
5656
super().__init__(name=name)
57-
self._dispatch_updates_receiver: Receiver[DispatchUpdate] | None = None
57+
self._dispatch_updates_receiver: Receiver[DispatchInfo] | None = None
5858
self._dry_run: bool = False
5959
self._options: dict[str, Any] = {}
6060
6161
@classmethod
6262
def new_with_dispatch(
6363
cls,
64-
initial_dispatch: DispatchUpdate,
65-
dispatch_updates_receiver: Receiver[DispatchUpdate],
64+
initial_dispatch: DispatchInfo,
65+
dispatch_updates_receiver: Receiver[DispatchInfo],
6666
*,
6767
name: str | None = None,
6868
) -> "Self":
@@ -92,7 +92,7 @@ async def _run_with_dispatch(self, other_recv: Receiver[Any]) -> None:
9292
else:
9393
assert False, f"Unexpected selected receiver: {selected}"
9494
95-
def _update_dispatch_information(self, dispatch_update: DispatchUpdate) -> None:
95+
def _update_dispatch_information(self, dispatch_update: DispatchInfo) -> None:
9696
print("Received update:", dispatch_update)
9797
self._dry_run = dispatch_update.dry_run
9898
self._options = dispatch_update.options
@@ -136,7 +136,7 @@ async def main():
136136

137137
def __init__(
138138
self,
139-
actor_factory: Callable[[DispatchUpdate, Receiver[DispatchUpdate]], Actor],
139+
actor_factory: Callable[[DispatchInfo, Receiver[DispatchInfo]], Actor],
140140
running_status_receiver: Receiver[Dispatch],
141141
) -> None:
142142
"""Initialize the dispatch handler.
@@ -150,7 +150,7 @@ def __init__(
150150
self._dispatch_rx = running_status_receiver
151151
self._actor_factory = actor_factory
152152
self._actor: Actor | None = None
153-
self._updates_channel = Broadcast[DispatchUpdate](
153+
self._updates_channel = Broadcast[DispatchInfo](
154154
name="dispatch_updates_channel", resend_latest=True
155155
)
156156
self._updates_sender = self._updates_channel.new_sender()
@@ -161,7 +161,7 @@ def start(self) -> None:
161161

162162
async def _start_actor(self, dispatch: Dispatch) -> None:
163163
"""Start all actors."""
164-
dispatch_update = DispatchUpdate(
164+
dispatch_update = DispatchInfo(
165165
components=dispatch.target,
166166
dry_run=dispatch.dry_run,
167167
options=dispatch.payload,

tests/test_mananging_actor.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from frequenz.sdk.actor import Actor
1919
from pytest import fixture
2020

21-
from frequenz.dispatch import ActorDispatcher, Dispatch, DispatchUpdate
21+
from frequenz.dispatch import ActorDispatcher, Dispatch, DispatchInfo
2222
from frequenz.dispatch._bg_service import DispatchScheduler
2323

2424

@@ -48,7 +48,7 @@ class MockActor(Actor):
4848
"""Mock actor for testing."""
4949

5050
def __init__(
51-
self, initial_dispatch: DispatchUpdate, receiver: Receiver[DispatchUpdate]
51+
self, initial_dispatch: DispatchInfo, receiver: Receiver[DispatchInfo]
5252
) -> None:
5353
"""Initialize the actor."""
5454
super().__init__(name="MockActor")
@@ -79,7 +79,7 @@ def actor(self) -> MockActor | None:
7979
# pylint: enable=protected-access
8080

8181
@property
82-
def updates_receiver(self) -> Receiver[DispatchUpdate]:
82+
def updates_receiver(self) -> Receiver[DispatchInfo]:
8383
"""Return the updates receiver."""
8484
assert self.actor is not None
8585
return self.actor.receiver
@@ -128,7 +128,7 @@ async def test_simple_start_stop(
128128
),
129129
)
130130

131-
# Send status update to start actor, expect no DispatchUpdate for the start
131+
# Send status update to start actor, expect no DispatchInfo for the start
132132
await test_env.running_status_sender.send(Dispatch(dispatch))
133133
fake_time.shift(timedelta(seconds=1))
134134
await asyncio.sleep(1)

0 commit comments

Comments
 (0)