feat: OPC UA address-space search plumbing — actor + comm + BrowseService (T15)
This commit is contained in:
@@ -371,6 +371,28 @@ public class CommunicationService
|
||||
envelope, _options.QueryTimeout, cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Asks a site to run a bounded recursive search of the address space on the
|
||||
/// live server backing the given data connection. The address-space analogue
|
||||
/// of <see cref="BrowseNodeAsync"/> — used by the CentralUI OPC UA tag picker's
|
||||
/// "find a tag" box. The Ask is bounded by <see cref="CommunicationOptions.QueryTimeout"/>,
|
||||
/// the same latency budget as browse and the other interactive design-time
|
||||
/// queries.
|
||||
/// </summary>
|
||||
/// <param name="siteId">The target site identifier.</param>
|
||||
/// <param name="command">The address-space search command (connection name + query + depth/result caps).</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
/// <returns>The search result (matches + cap-reached flag + structured failure).</returns>
|
||||
public Task<SearchAddressSpaceResult> SearchAddressSpaceAsync(
|
||||
string siteId,
|
||||
SearchAddressSpaceCommand command,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
var envelope = new SiteEnvelope(siteId, command);
|
||||
return GetActor().Ask<SearchAddressSpaceResult>(
|
||||
envelope, _options.QueryTimeout, cancellationToken);
|
||||
}
|
||||
|
||||
// ── Test Bindings (one-shot live read of bound tags) ──
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user