diff --git a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs index acd6bdf42..7dc0bda84 100644 --- a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs +++ b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs @@ -39,7 +39,7 @@ public partial class UaSCUaBinaryChannel /// /// Called when the token changes /// - protected internal ChannelTokenActivatedEventHandler OnTokenActivated { get; set; } + protected internal Action OnTokenActivated { get; set; } /// /// Creates a new token. diff --git a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs index 534abc00d..a56152a94 100644 --- a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs +++ b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs @@ -493,7 +493,8 @@ private UaSCUaBinaryClientChannel CreateChannel(ITransportWaitingConnection conn } // Register the token changed event handler with the internal channel - channel.OnTokenActivated = m_OnTokenActivated; + channel.OnTokenActivated = + (current, previous) => m_OnTokenActivated?.Invoke(this, current, previous); return channel; } #endregion diff --git a/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs b/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs index c5f9a65ff..5880861f7 100644 --- a/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs +++ b/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs @@ -20,9 +20,13 @@ namespace Opc.Ua /// /// Callback when the token is activated /// + /// /// /// - public delegate void ChannelTokenActivatedEventHandler(ChannelToken currentToken, ChannelToken previousToken); + public delegate void ChannelTokenActivatedEventHandler( + ITransportChannel source, + ChannelToken currentToken, + ChannelToken previousToken); /// /// This is an interface to a channel which supports