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; }
}
}