fix(runtime): harden batch forwarding — detach pins, malformed-raise guard, struct items
This commit is contained in:
@@ -60,7 +60,9 @@ public sealed record DataChangeItem(string FullReference, DataValueSnapshot Snap
|
||||
/// <summary>Event payload for <see cref="IBatchSubscribable.OnDataChangeBatch"/> — every attribute
|
||||
/// that changed within ONE production burst (a poll cycle, an inbound message, a stream chunk).</summary>
|
||||
/// <param name="SubscriptionHandle">The handle returned by the original <see cref="ISubscribable.SubscribeAsync"/> call.</param>
|
||||
/// <param name="Items">The changed attributes, one entry per changed tag. Never empty.</param>
|
||||
/// <param name="Items">The changed attributes, one entry per changed tag. Never empty. Ownership transfers
|
||||
/// to the consumer, which may retain the list past the raise (it is marshalled onto another thread) — so the
|
||||
/// driver MUST NOT mutate or reuse the list instance after raising; allocate a fresh one per burst.</param>
|
||||
public sealed record DataChangeBatchEventArgs(
|
||||
ISubscriptionHandle SubscriptionHandle,
|
||||
IReadOnlyList<DataChangeItem> Items);
|
||||
|
||||
Reference in New Issue
Block a user