diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs index a24e0bf..d8088a3 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs @@ -311,22 +311,29 @@ namespace PepperDash.Core Key = key; } + /// + /// Initialize called by the constructor that accepts a client config object. Can be called later to reset properties of client. + /// + /// public void Initialize(TcpClientConfigObject clientConfigObject) { try { if (clientConfigObject != null) { - Hostname = clientConfigObject.Address; - AutoReconnect = clientConfigObject.AutoReconnect; - AutoReconnectIntervalMs = clientConfigObject.AutoReconnectIntervalMs > 1000 ? clientConfigObject.AutoReconnectIntervalMs : 5000; + var TcpSshProperties = clientConfigObject.Control.TcpSshProperties; + Hostname = TcpSshProperties.Address; + AutoReconnect = TcpSshProperties.AutoReconnect; + AutoReconnectIntervalMs = TcpSshProperties.AutoReconnectIntervalMs > 1000 ? + TcpSshProperties.AutoReconnectIntervalMs : 5000; SharedKey = clientConfigObject.SharedKey; SharedKeyRequired = clientConfigObject.SharedKeyRequired; HeartbeatEnabled = clientConfigObject.HeartbeatRequired; - HeartbeatRequiredIntervalInSeconds = clientConfigObject.HeartbeatRequiredIntervalInSeconds > 0 ? clientConfigObject.HeartbeatRequiredIntervalInSeconds : (ushort)15; + HeartbeatRequiredIntervalInSeconds = clientConfigObject.HeartbeatRequiredIntervalInSeconds > 0 ? + clientConfigObject.HeartbeatRequiredIntervalInSeconds : (ushort)15; HeartbeatString = string.IsNullOrEmpty(clientConfigObject.HeartbeatStringToMatch) ? "heartbeat" : clientConfigObject.HeartbeatStringToMatch; - Port = clientConfigObject.Port; - BufferSize = clientConfigObject.BufferSize > 2000 ? clientConfigObject.BufferSize : 2000; + Port = TcpSshProperties.Port; + BufferSize = TcpSshProperties.BufferSize > 2000 ? TcpSshProperties.BufferSize : 2000; ReceiveQueueSize = clientConfigObject.ReceiveQueueSize > 20 ? clientConfigObject.ReceiveQueueSize : 20; MessageQueue = new CrestronQueue(ReceiveQueueSize); } diff --git a/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs b/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs index b496bd6..a4fe8b2 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs @@ -11,8 +11,12 @@ namespace PepperDash.Core /// /// Client config object for TCP client with server that inherits from TcpSshPropertiesConfig and adds properties for shared key and heartbeat /// - public class TcpClientConfigObject : TcpSshPropertiesConfig + public class TcpClientConfigObject { + /// + /// TcpSsh Properties + /// + public ControlPropertiesConfig Control { get; set; } /// /// Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic ///