Added a few hooks for S+ in udp class no logic change just additions for s+

This commit is contained in:
Joshua Gutenplan
2019-06-25 18:19:17 -07:00
parent 2c5c4e39a4
commit a9dbaf21c2

View File

@@ -51,6 +51,11 @@ namespace PepperDash.Core
}
}
public ushort UStatus
{
get { return (ushort)Server.ServerStatus; }
}
CCriticalSection DequeueLock;
/// <summary>
@@ -87,6 +92,11 @@ namespace PepperDash.Core
private set;
}
public ushort UIsConnected
{
get { return IsConnected ? (ushort)1 : (ushort)0; }
}
/// <summary>
/// Defaults to 2000
/// </summary>
@@ -94,6 +104,20 @@ namespace PepperDash.Core
public UDPServer Server { get; private set; }
/// <summary>
/// Constructor for S+. Make sure to set key, address, port, and buffersize using init method
/// </summary>
public GenericUdpServer()
: base("Uninitialized Udp Server")
{
BufferSize = 5000;
DequeueLock = new CCriticalSection();
MessageQueue = new CrestronQueue<GenericUdpReceiveTextExtraArgs>();
CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler);
CrestronEnvironment.EthernetEventHandler += new EthernetEventHandler(CrestronEnvironment_EthernetEventHandler);
}
public GenericUdpServer(string key, string address, int port, int buffefSize)
: base(key)
{
@@ -108,6 +132,13 @@ namespace PepperDash.Core
CrestronEnvironment.EthernetEventHandler += new EthernetEventHandler(CrestronEnvironment_EthernetEventHandler);
}
public void Initialize(string key, string address, ushort port)
{
Key = key;
Hostname = address;
UPort = port;
}
void CrestronEnvironment_EthernetEventHandler(EthernetEventArgs ethernetEventArgs)
{
// Re-enable the server if the link comes back up and the status should be connected
@@ -135,7 +166,6 @@ namespace PepperDash.Core
if (Server == null)
{
Server = new UDPServer();
}
if (string.IsNullOrEmpty(Hostname))