diff --git a/Reseter2/ReseteTask.cs b/Reseter2/ReseteTask.cs
index 8cdce94..6a85ede 100644
--- a/Reseter2/ReseteTask.cs
+++ b/Reseter2/ReseteTask.cs
@@ -8,10 +8,13 @@ namespace Reseter2
{
class ReseterTask
{
+ private Task task;
private IComp Comp;
private AStatusTask StatusTask;
private TaskControl taskControl;
private Pinger Pingers;
+ public delegate void DataEvents(string ping, string timeout);
+ public event DataEvents DataChange;
public ReseterTask(IComp comp, TaskControl taskCntrl)
{
@@ -19,15 +22,30 @@ namespace Reseter2
taskControl = taskCntrl;
StatusTask = new StatusPreReboot(this);
Pingers = new Pinger(Comp.GetName());
+ DataChange += taskControl.DataContrl;
}
public string GetName()
{
return Comp.GetName();
}
- public void Tick()
+ public async Task Tick()
{
- StatusTask.Tick();
+ if (task != null)
+ {
+ if (task.IsCompleted){
+ //this.DataContrl(Ping().ToString(), Timeout().ToString());
+ await task;
+
+ task = Task.Run(StatusTask.Tick);
+ }
+ }
+ else
+ {
+ task = Task.Run(StatusTask.Tick);
+ }
+
+
}
public long Ping()
@@ -41,7 +59,8 @@ namespace Reseter2
public void DataContrl(string ping, string timeout)
{
- taskControl.DataContrl(ping, timeout);
+ // taskControl.Invoke(DataChange);
+ DataChange.Invoke(ping, timeout);
}
private void Clear()
{
diff --git a/Reseter2/Reseter2.csproj b/Reseter2/Reseter2.csproj
index ceaa893..45a63ea 100644
--- a/Reseter2/Reseter2.csproj
+++ b/Reseter2/Reseter2.csproj
@@ -95,5 +95,8 @@
+
+
+
\ No newline at end of file
diff --git a/Reseter2/StausPreReboot.cs b/Reseter2/StausPreReboot.cs
index 5d067b3..b92747a 100644
--- a/Reseter2/StausPreReboot.cs
+++ b/Reseter2/StausPreReboot.cs
@@ -16,8 +16,8 @@ namespace Reseter2
public override void Tick()
{
time++;
-
resetertask.DataContrl(resetertask.Ping().ToString(), resetertask.Timeout().ToString());
+
}
public override void Next()
{