Beispiel #1
0
 public override int?Solve(NetworkProblem problem)
 {
     if (problem.DataToTransfer <= DataLimit())
     {
         if (rng.NextDouble() < packetLossChance)
         {
             Console.WriteLine($"Device {DeviceType} lost packet");
             return(null);
         }
         else
         {
             Console.WriteLine($"Device {DeviceType} solve {problem.Name}, transferd {problem.DataToTransfer}");
             return(problem.DataToTransfer);
         }
     }
     else
     {
         if (rng.NextDouble() < packetLossChance)
         {
             Console.WriteLine($"Device {DeviceType} lost packet");
             return(null);
         }
         else
         {
             Console.WriteLine($"Device {DeviceType} has transfered {DataLimit()} of {problem.Name}");
             problem.Subtract(DataLimit());
             return(null);
         }
     }
 }
Beispiel #2
0
 public virtual bool visit(NetworkProblem problem)
 {
     if (dataLimit >= problem.DataToTransfer)
     {
         dataLimit -= problem.DataToTransfer;
         return(true);
     }
     //Console.WriteLine(nameof(NetworkDevice)+" "+model+" do not have enough data left on "+DeviceType);
     return(false);
 }
        virtual public int?CanSolve(NetworkProblem p)
        {
            if (p.DataToTransfer < this.dataLimit)
            {
                dataLimit -= p.DataToTransfer;
                return(p.Computation());
            }

            return(null);
        }
Beispiel #4
0
 public override int?Visit(NetworkProblem networkProblem)
 {
     if (this.GetDataLimit() >= networkProblem.DataToTransfer)
     {
         this.SetDataLimit(this.GetDataLimit() - networkProblem.DataToTransfer);
         System.Console.WriteLine($"{this.model} resolved the problem");
         return(networkProblem.Computation());
     }
     System.Console.WriteLine($"{this.model} failed to resolve the problem");
     return(null);
 }
 public virtual int?TrySolve(NetworkProblem p)
 {
     if (p.DataToTransfer <= dataLimit)
     {
         dataLimit -= p.DataToTransfer;
         Console.WriteLine("Problem {0} - solved with {1} {2}", p.Name, DeviceType, model);
         return(p.Computation());
     }
     Console.WriteLine("Problem {0} - failed to solve with {1} {2}", p.Name, DeviceType, model);
     return(null);
 }
Beispiel #6
0
        public override int?TrySolve(NetworkProblem p)
        {
            if (rng.NextDouble() < packetLossChance)
            {
                Console.WriteLine("Problem {0} - failed to solve with {1} {2}", p.Name, DeviceType, model);
                return(null);
            }
            int?res = base.TrySolve(p);

            return(res);
        }
        public override int?CanSolve(NetworkProblem p)
        {
            int?result;

            if ((result = base.CanSolve(p)) != null)
            {
                SolvingInfo.Solved(this.model, p.Name);
                return(result);
            }
            SolvingInfo.NotSolved(this.model, p.Name);
            return(null);
        }
Beispiel #8
0
        public override int?CanSolve(NetworkProblem p)
        {
            int?result;

            if (rng.NextDouble() < packetLossChance && (result = base.CanSolve(p)) != null)
            {
                SolvingInfo.Solved(this.model, p.Name);
                return(result);
            }

            SolvingInfo.NotSolved(this.model, p.Name);
            return(null);
        }
Beispiel #9
0
 public override bool visit(NetworkProblem problem)
 {
     if (base.visit(problem))
     {
         if (rng.NextDouble() < packetLossChance)
         {
             Console.WriteLine("WiFI disconnected");
             return(false);
         }
         return(true);
     }
     return(false);
 }
Beispiel #10
0
 public override int?Solve(NetworkProblem problem)
 {
     if (problem.DataToTransfer <= DataLimit())
     {
         Console.WriteLine($"Device {DeviceType} solve this, transferd {problem.DataToTransfer}");
         return(problem.DataToTransfer);
     }
     else
     {
         Console.WriteLine($"Device {DeviceType} has transfered {DataLimit()} of {problem.Name}");
         problem.Subtract(DataLimit());
         return(null);
     }
 }
Beispiel #11
0
 public virtual int?TrySolve(NetworkProblem p)
 {
     Console.WriteLine("Problem {0} - failed to solve with GPU {1}", p.Name, model);
     return(null);
 }
Beispiel #12
0
 public int?CanSolve(NetworkProblem p)
 {
     SolvingInfo.NotSolved(this.model, p.Name);
     return(null);
 }
Beispiel #13
0
 public int?Visit(NetworkProblem networkProblem)
 {
     System.Console.WriteLine($"{this.model} failed to resolve the problem");
     return(null);
 }
Beispiel #14
0
 public bool visit(NetworkProblem problem)
 {
     // Console.WriteLine("*******************" + model + " cant solve " + " " + nameof(NetworkProblem) + " " + problem.Name);
     return(false);
 }
Beispiel #15
0
 public int?Solve(NetworkProblem problem)
 {
     Console.WriteLine($"CPU {model} cannot solve {problem.Name}");
     return(null);
 }
 public abstract int?Visit(NetworkProblem networkProblem);
 abstract public int?Solve(NetworkProblem problem);