Skip to content

feat: Implement Broadcast Channel - #35

Open
mMikulas wants to merge 1 commit into
MartinUbl:masterfrom
mMikulas:master
Open

feat: Implement Broadcast Channel#35
mMikulas wants to merge 1 commit into
MartinUbl:masterfrom
mMikulas:master

Conversation

@mMikulas

Copy link
Copy Markdown
  • Added CBroadcast_Channel class implementing the core logic:
    • Holds a single message that is overwritten by new writes.
    • Uses a generation counter to track message updates.
    • Implements blocking Read using Block_Current_Process until a new generation is available.
    • Implements Write that updates the message and notifies all waiting readers.
  • Created CBroadcast_FS_Driver mapped to SYS:bcast.
  • Updated CProcess_Resource_Manager to "allocate" and "free" broadcast channels (fixed number of channels are preallocated).
  • Implementation of broadcast is inspired by pipe implementation.

- Added `CBroadcast_Channel` class implementing the core logic:
  - Holds a single message that is overwritten by new writes.
  - Uses a generation counter to track message updates.
  - Implements blocking `Read` using `Block_Current_Process` until a new generation is available.
  - Implements `Write` that updates the message and notifies all waiting readers.
- Created `CBroadcast_FS_Driver` mapped to `SYS:bcast`.
- Updated `CProcess_Resource_Manager` to "allocate" and "free" broadcast channels (fixed number of channels are preallocated).
- Implementation of broadcast is inspired by pipe implementation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant