using Newtonsoft.Json; namespace PepperDash.Core { /// /// Represents a TcpClientConfigObject /// public class TcpClientConfigObject { /// /// TcpSsh Properties /// [JsonProperty("control")] public ControlPropertiesConfig Control { get; set; } /// /// Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic /// [JsonProperty("secure")] public bool Secure { get; set; } /// /// Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client /// [JsonProperty("sharedKeyRequired")] public bool SharedKeyRequired { get; set; } /// /// The shared key that must match on the server and client /// [JsonProperty("sharedKey")] public string SharedKey { get; set; } /// /// Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received. /// heartbeats do not raise received events. /// [JsonProperty("heartbeatRequired")] public bool HeartbeatRequired { get; set; } /// /// The interval in seconds for the heartbeat from the client. If not received client is disconnected /// [JsonProperty("heartbeatRequiredIntervalInSeconds")] public ushort HeartbeatRequiredIntervalInSeconds { get; set; } /// /// HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided. /// [JsonProperty("heartbeatStringToMatch")] public string HeartbeatStringToMatch { get; set; } /// /// Receive Queue size must be greater than 20 or defaults to 20 /// [JsonProperty("receiveQueueSize")] public int ReceiveQueueSize { get; set; } } }