perf(dcl): batch subscribe/read/write seam, bounded reconnect, sharded subscriptions
This commit is contained in:
@@ -37,11 +37,16 @@ public class DataConnectionFactory : IDataConnectionFactory
|
||||
public DataConnectionFactory(
|
||||
ILoggerFactory loggerFactory,
|
||||
IOptions<OpcUaGlobalOptions> opcUaGlobalOptions,
|
||||
ISecretResolver? secretResolver = null)
|
||||
ISecretResolver? secretResolver = null,
|
||||
IOptions<DataConnectionOptions>? dataConnectionOptions = null)
|
||||
{
|
||||
_loggerFactory = loggerFactory;
|
||||
_secretResolver = secretResolver;
|
||||
var globalOptions = opcUaGlobalOptions.Value;
|
||||
// Only the MxGateway supervisory-advise window is adapter-level today; the rest of
|
||||
// DataConnectionOptions is consumed by the actor, which is constructed elsewhere.
|
||||
var supervisoryAdviseParallelism =
|
||||
(dataConnectionOptions?.Value ?? new DataConnectionOptions()).MxSupervisoryAdviseParallelism;
|
||||
|
||||
// Register built-in protocols.
|
||||
// Pass the ILoggerFactory into RealOpcUaClientFactory so
|
||||
@@ -57,7 +62,8 @@ public class DataConnectionFactory : IDataConnectionFactory
|
||||
RegisterAdapter("MxGateway", details => new MxGatewayDataConnection(
|
||||
new RealMxGatewayClientFactory(_loggerFactory),
|
||||
_loggerFactory.CreateLogger<MxGatewayDataConnection>(),
|
||||
_secretResolver));
|
||||
_secretResolver,
|
||||
supervisoryAdviseParallelism));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user