Closed zk230 closed 6 years ago
Client Redundancy as described by part 4 of the spec would require that one OpcUaClient
instance be able to transfer subscriptions to/from another instance, which isn't currently possible.
The transfer service is callable, but there's no way for the subscription manager in the client taking over the subscriptions to actually take an OpcUaSubscription
object and start managing it.
I'll make a ticket to implement this as an enhancement eventually, but the only way I can see it working is if the server also has diagnostics enabled so that the instance taking over subscriptions can learn the details of the subscription (publishing interval, priority, keep-alive count, lifetime count, etc...).
@kevinherron - would you be ok if I took a stab at implementing this as a PR and associating the commit with this enhancement request?
I agree, the server would need to have diagnostics enabled, otherwise the client should return an error.
Looking at the code, I think this enhancement can be achieved by adding logic to the UaSubscriptionManager/OpcUaSubscriptionManager for transferring a subscription. This could:
Of course I'd be completely open to any suggestions, thoughts, collaborations, or other points of interest you could share.
Is this something you'd be open to?
@marcus-orchard I moved this into #523 for discussion.
I have many client for subscription one opc ua server,but the server is not "milo" server,how to implement Client Redundancy