Skip to content

[R29] Update the README storage example to EntityStorage - #34

Open
JetF0x wants to merge 1 commit into
Carsillas:rewritefrom
JetF0x:fix/review-r29
Open

JetF0x wants to merge 1 commit into
Carsillas:rewritefrom
JetF0x:fix/review-r29

Conversation

@JetF0x

@JetF0x JetF0x commented Sep 12, 2026

Copy link
Copy Markdown

Addresses review finding R29.

Copying the README's server storage example failed with CS0246 because it implemented the removed IEntityStorage interface. The replacement derives from EntityStorage, implements the protected enumeration/add/remove hooks and public lookup/relevancy methods, and preserves the nullable lookup contract. The README explains the base-owned registration, ID assignment and relay attachment operations, and separates the class declaration from the setup statements.

Add an external tests/ReadmeStorageSmoke consumer that compiles the complete documented storage implementation with all required runtime/analyzer/generator references. It checks that the compiled source matches the README and exercises registration, lookup, attachment before and after server construction, relevancy, relay replication, and removal through storage calls and client messages.

Validation on .NET SDK 10.0.400:

  • dotnet run --project tests/ReadmeStorageSmoke/ReadmeStorageSmoke.csproj --configuration Release --no-restore passed targeting .NET 8 with C# 14 and nullable warnings treated as errors in the consumer.
  • dotnet test Cat.Network.Test/Cat.Network.Test.csproj --configuration Release --no-restore --verbosity minimal passed all 155 existing runtime tests.
  • git diff HEAD^ HEAD --check passed. The library's existing CS8600 warning at MemoryRelayTransport.cs:21 remains.

Compatibility: documentation and a standalone consumer fixture only; no production API, wire format, or dependency changes. The client smoke completes the existing handshake before spawning and is independent of the separate immediate-spawn fix.

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