Skip to content

feat(streaming): make SequentialItem serializable - #10302

Merged
ReubenBond merged 1 commit into
dotnet:mainfrom
ReubenBond:reubenbond-serialize-sequential-item
Jul 30, 2026
Merged

ReubenBond merged 1 commit into
dotnet:mainfrom
ReubenBond:reubenbond-serialize-sequential-item

Conversation

@ReubenBond

@ReubenBond ReubenBond commented Jul 23, 2026

Copy link
Copy Markdown
Member

SequentialItem is a public streaming data container, but it did not have generated serialization support.

This adds stable generated serialization metadata for its item and token members, together with focused coverage for codec and copier resolution, serialization round-tripping, and deep copying.

Microsoft Reviewers: Open in CodeFlow

Copilot AI review requested due to automatic review settings July 23, 2026 15:54
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Enables Orleans generated serialization for SequentialItem<T> (a public streaming container type) by adding stable field ids, and adds targeted unit coverage to validate codec/copier resolution and round-trip behavior.

Changes:

  • Annotate SequentialItem<T> with [GenerateSerializer] and stable [Id] values for Item and Token.
  • Add unit tests covering generated codec/copier resolution, serialization round-tripping, and deep copying for SequentialItem<T>.
  • Reference Orleans.Streaming from the serialization unit test project (excluding netcoreapp3.1) to compile/use SequentialItem<T> in tests.
Show a summary per file
File Description
test/Orleans.Serialization.UnitTests/SequentialItemSerializationTests.cs Adds focused tests for SequentialItem<T> codec/copier resolution, serialization round-trip, and deep copy.
test/Orleans.Serialization.UnitTests/Orleans.Serialization.UnitTests.csproj Adds Orleans.Streaming project reference for non-netcoreapp3.1 TFMs so the new tests can compile.
src/Orleans.Streaming/Core/IAsyncBatchObserver.cs Marks SequentialItem<T> as serializable via generated serialization and assigns stable member ids.
src/api/Orleans.Streaming/Orleans.Streaming.cs Updates the public API surface to reflect the new serialization attributes/ids on SequentialItem<T>.

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 0

Add stable generated serialization metadata and focused round-trip and deep-copy coverage for SequentialItem<T>.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 049cdbca-5ff7-4970-ad57-e3dcfa0da6e4
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants