Skip to content

feat: modernization phase 5 PR2#53

Merged
dsmurfin merged 1 commit into
modernization-planfrom
modernization-phase5-pr2
Jul 19, 2026
Merged

feat: modernization phase 5 PR2#53
dsmurfin merged 1 commit into
modernization-planfrom
modernization-phase5-pr2

Conversation

@dsmurfin

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings July 19, 2026 10:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the raw receiver’s surfaced payload metadata to include the E1.31 Data Framing Layer sequence number, options bitfield, and synchronization universe (sync address), and adds wire-layer + receiver characterization tests to lock in the new behavior.

Changes:

  • Parse and carry syncAddress from DataFramingLayer, and add a replacingSyncAddress(with:) helper for tests/packet crafting.
  • Surface sequence, options (as a new sACNDataOptions OptionSet), and syncUniverse on sACNReceiverRawSourceData, and populate them in sACNReceiverRaw.
  • Add tests validating sync-address parsing and that raw receiver output includes the new metadata.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Tests/sACNKitTests/ReceiverRawTests.swift Adds a characterization test asserting sequence/options/sync-universe are surfaced on raw received data.
Tests/sACNKitTests/LayerTests.swift Extends framing-layer round-trip assertions and adds a focused sync-address parse test.
Sources/sACNKit/Receiver/sACNReceiverRaw.swift Populates newly surfaced metadata fields when emitting sACNReceiverRawSourceData.
Sources/sACNKit/Receiver/Delegate/sACNReceiverRawSourceData.swift Adds public fields for sequence/options/sync-universe to the raw receiver payload type.
Sources/sACNKit/Receiver/Delegate/sACNDataOptions.swift Introduces a public OptionSet representing the on-wire data framing options byte.
Sources/sACNKit/Layers/DataFramingLayer.swift Parses syncAddress and adds a Data mutator to patch it for crafted packets.
Comments suppressed due to low confidence (1)

Sources/sACNKit/Layers/DataFramingLayer.swift:219

  • The doc comment for replacingPriority(with:) incorrectly says it replaces "options" and describes the priority parameter as options, which is misleading for callers.
    /// Replaces the `DataFramingLayer` options.
    ///
    /// - Parameters:
    ///    - priority: The options to be replaced in the layer.
    ///

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dsmurfin
dsmurfin merged commit df536b8 into modernization-plan Jul 19, 2026
8 checks passed
@dsmurfin
dsmurfin deleted the modernization-phase5-pr2 branch July 19, 2026 11:10
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.

2 participants