virtual public int?CanSolve(NetworkProblem p)
        {
            if (p.DataToTransfer < this.dataLimit)
            {
                dataLimit -= p.DataToTransfer;
                return(p.Computation());
            }

            return(null);
        }
Beispiel #2
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);
 }