|
From: <br...@us...> - 2008-10-01 09:58:25
|
Revision: 400
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=400&view=rev
Author: brus07
Date: 2008-10-01 09:58:09 +0000 (Wed, 01 Oct 2008)
Log Message:
-----------
Refactoring in using SystemMessageType.
Modified Paths:
--------------
ACMServer/trunk/ACMServer/Library/Data/DataMediator.cs
ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/SocketServerGatePlugin/SocketServerGate.cs
ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGatePlugin.cs
ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGetter.cs
Modified: ACMServer/trunk/ACMServer/Library/Data/DataMediator.cs
===================================================================
--- ACMServer/trunk/ACMServer/Library/Data/DataMediator.cs 2008-09-30 18:19:23 UTC (rev 399)
+++ ACMServer/trunk/ACMServer/Library/Data/DataMediator.cs 2008-10-01 09:58:09 UTC (rev 400)
@@ -20,6 +20,14 @@
}
}
+ public int Count
+ {
+ get
+ {
+ return d.Count;
+ }
+ }
+
/// <summary>
/// \xDF\xEA\xF9\xEE \xF1\xE0\xE1\xEC\xB3\xF2 \xF3 \xF7\xE5\xF0\xE7\xB3 \xE7\xED\xE0\xF5\xEE\xE4\xE8\xF2\xFC\xF1\xFF \xE1\xB3\xEB\xFC\xF8\xE5 \xED\xB3\xE6 secondToLive \xF1\xE5\xEA\xF3\xED\xE4, \xF2\xEE \xE2\xB3\xED \xEF\xF0\xEE\xF1\xF2\xEE \xE2\xE8\xE4\xE0\xEB\xFF\xBA\xF2\xFC\xF1\xFF \xE7 \xED\xE5\xBF
/// </summary>
Modified: ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/SocketServerGatePlugin/SocketServerGate.cs
===================================================================
--- ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/SocketServerGatePlugin/SocketServerGate.cs 2008-09-30 18:19:23 UTC (rev 399)
+++ ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/SocketServerGatePlugin/SocketServerGate.cs 2008-10-01 09:58:09 UTC (rev 400)
@@ -34,12 +34,18 @@
protected override void DataSender(SystemMessage message, int clientIndex)
{
- Submit submit = Submit.CreateFromXml(message.Message);
- if (dataContainer.Add(submit) == true)
+ if (message.IsType("TestingSubmit") == true)
{
- OnLogMessage("Send", submit.id + " to " + clientIndex);
- base.DataSender(message, clientIndex);
+ Submit submit = Submit.CreateFromXml(message.Message);
+ if (dataContainer.Add(submit) == true)
+ {
+ OnLogMessage("Send", submit.id + " to " + clientIndex);
+ base.DataSender(message, clientIndex);
+ }
+ return;
}
+
+ base.DataSender(message, clientIndex);
}
@@ -57,22 +63,24 @@
public new bool Send(SystemMessage message)
{
- if (message.IsType("TestingSubmitList") == false)
- return false;
+ if (message.IsType("TestingSubmitList") == true)
+ {
+ SubmitList submitList = SubmitList.CreateFromXml(message.Message);
- SubmitList submitList = SubmitList.CreateFromXml(message.Message);
+ GenerateLogMessageWirhIDs(submitList);
- GenerateLogMessageWirhIDs(submitList);
-
- for (int index = 0; index < submitList.Items.Length; index++)
- {
- if (dataContainer.Contains(submitList.Items[index]) == false)
+ for (int index = 0; index < submitList.Items.Length; index++)
{
- SystemMessage sysMes = new SystemMessage(submitList.Items[index].ToString(), "TestingSubmit");
- pool.Send(sysMes);
+ if (dataContainer.Contains(submitList.Items[index]) == false)
+ {
+ SystemMessage sysMes = new SystemMessage(submitList.Items[index].ToString(), "TestingSubmit");
+ pool.Send(sysMes);
+ }
}
+ return true;
}
- return true;
+
+ return false;
}
protected override void DataArriver(SystemMessage message)
Modified: ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGatePlugin.cs
===================================================================
--- ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGatePlugin.cs 2008-09-30 18:19:23 UTC (rev 399)
+++ ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGatePlugin.cs 2008-10-01 09:58:09 UTC (rev 400)
@@ -22,11 +22,13 @@
public override void Send(SystemMessage message)
{
- if (message.IsType("ApplicationSystem") && message.Message == "stop")
+ if (message.IsType("ApplicationSystem"))
{
- return;
+ if (message.Message == "stop")
+ return;
}
- string text = message.Message.Length + " bytes" + Environment.NewLine;
+
+ string text = message.Message.Length + " bytes";
((WebGatePluginUserControl)base.Control).AddText("Send", text);
webGate.Send(message);
@@ -34,11 +36,21 @@
protected override void DataArrived(SystemMessage message)
{
+ if (message.IsType("Empty") == true)
+ {
+ ((WebGatePluginUserControl)base.Control).AddText("SystemReceive", "0 bytes");
+ return;
+ }
+ if (message.IsType("SystemResult") == true)
+ {
+ ((WebGatePluginUserControl)base.Control).AddText("SystemReceive", message.Message);
+ return;
+ }
+
string text = message.Message.Length + " bytes";
((WebGatePluginUserControl)base.Control).AddText("Receive", text);
+ base.DataArrived(message);
- if (message.IsType("Empty") == false)
- base.DataArrived(message);
}
private void OnChecked(object o,EventArgs a)
Modified: ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGetter.cs
===================================================================
--- ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGetter.cs 2008-09-30 18:19:23 UTC (rev 399)
+++ ACMServer/trunk/ACMServer/Plugins/MediatorPlugins/WebGatePlugin/WebGetter.cs 2008-10-01 09:58:09 UTC (rev 400)
@@ -49,17 +49,14 @@
public SystemMessage GetData()
{
checkAddress();
- object ob = MediatorGetInfoFromSiteX();
- if (ob == null)
- return new SystemMessage("", "Empty");
- SystemMessage sysMes = new SystemMessage(ob.ToString(), "TestingSubmitList");
- return sysMes;
+ return GetMessageFromSite();;
}
public void Send(SystemMessage message)
{
if (message.IsType("TestingResult") == true)
- MediatorSendX(message.Message);
+ SendTestingResultToSite(message.Message);
+ //jaksho inakshyj typ, todi potribno bude inakshu funkciju vyklykaty
}
public string PathToSource
@@ -76,31 +73,20 @@
#endregion
- void MediatorSendX(string message)
+ void SendTestingResultToSite(string message)
{
- Result result = Result.CreateFromXml(message);
- SendX(message);
- container.Return(result);
- }
- void SendX(string message)
- {
string res = "";
string id = "";
string usedMemory = "";
string usedTime = "";
- try
- {
- //TODO:
- Result result = Result.CreateFromXml(message);
- res = result.res;
- id = result.Submit.id.ToString();
- usedMemory = result.usedMemory.ToString();
- usedTime = result.usedTime.ToString();
- }
- catch (Exception)
- {
- return;
- }
+
+ //TODO:
+ Result result = Result.CreateFromXml(message);
+ res = result.res;
+ id = result.Submit.id.ToString();
+ usedMemory = result.usedMemory.ToString();
+ usedTime = result.usedTime.ToString();
+
string fullURL = fullPathToWebPages + "/set.php?";
fullURL += "res=" + res;
fullURL += "&id=" + id;
@@ -110,14 +96,31 @@
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
myResponse.Close();
+
+ container.Return(result);
}
- string MediatorGetInfoFromSiteX()
+ SystemMessage GetMessageFromSite()
{
- string getAll = GetInfoFromSiteX();
+ string getAll = GetFullInfoFromSite();
if (String.IsNullOrEmpty(getAll) == true)
- return null;
- SubmitList list = SubmitList.CreateFromXml(getAll);
+ return new SystemMessage("", "Empty");
+ if (getAll.Contains("submitList") == true)
+ {
+ return CreateTestingSubmitListMessageFromText(getAll);
+ }
+ if (getAll.Contains("SystemResult") == true)
+ {
+ return new SystemMessage(getAll, "SystemResult");
+ }
+
+ //tut potribno realizuvaty vidpovidni sturktury i vyklykaty ihshyt danyh
+ return new SystemMessage(getAll, "UnknownContent");
+ }
+
+ SystemMessage CreateTestingSubmitListMessageFromText(string info)
+ {
+ SubmitList list = SubmitList.CreateFromXml(info);
List<Submit> result = new List<Submit>();
for (int i = 0; i < list.Items.Length; i++)
{
@@ -130,22 +133,35 @@
}
}
if (result.Count == 0)
- return null;
+ return new SystemMessage("Web checked: All submits in queue (queue size " + container.Count.ToString() + ")", "SystemResult");
SubmitList resultList = new SubmitList();
resultList.Items = result.ToArray();
- return resultList.ToString();
+ return new SystemMessage(resultList.ToString(), "TestingSubmitList");
}
- string GetInfoFromSiteX()
+
+ string GetFullInfoFromSite()
{
- HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(fullPathToWebPages + "/get.php");
- myRequest.Method = "GET";
- WebResponse myResponse = myRequest.GetResponse();
- StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
- string result = sr.ReadToEnd();
- sr.Close();
- myResponse.Close();
- if (result.Length == 0)
- return null;
+ string result = null;
+ try
+ {
+ HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(fullPathToWebPages + "/get.php");
+ myRequest.Method = "GET";
+ //myRequest.Timeout = 100000;
+ WebResponse myResponse = myRequest.GetResponse();
+ StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
+ result = sr.ReadToEnd();
+ sr.Close();
+ myResponse.Close();
+ if (result.Length == 0)
+ return null;
+ }
+ catch (WebException wex)
+ {
+ if (wex.Status == WebExceptionStatus.Timeout)
+ {
+ return "SystemResult: Timeout";
+ }
+ }
return result;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|