Ejemplo n.º 1
0
 public Proc.edure ConvertR(Proc.edureSimple procedure, bool cacheIfNotFound)
 {
     if (procedure == null)
     {
         return(null);
     }
     if (!responseAilias.TryGetValue(procedure, out Proc.edure p))
     {
         p = incident => { procedure.Invoke(incident); return(Proc.Result.Success); };
         if (cacheIfNotFound)
         {
             responseAilias[procedure] = p;
         }
     }
     return(p);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// this function adds an entry to a table that might not be removed if it is called from outside <see cref="NonStandard.Procedure"/> algorithms
 /// </summary>
 internal static Proc.edure ConvertR(Proc.edureSimple r, bool cacheIfNotFound)
 {
     return(Main.ConvertR(r, cacheIfNotFound));
 }
Ejemplo n.º 3
0
 public static int GetResponseIndex(int incidentCode, Proc.edureSimple procedure)
 {
     return(Main.GetResponseIndex(incidentCode, ConvertR(procedure, false)));
 }
Ejemplo n.º 4
0
 public static void OnIncident(Proc.Id id, Proc.edureSimple procedure, int count = -1, Proc.edureSimple onLast = null)
 {
     Main.OnIncident(id, ConvertR(procedure, true), count, ConvertR(onLast, false));
 }
Ejemplo n.º 5
0
 public static Incident Enqueue(Proc.edureSimple response)
 {
     return(SystemClock.Delay(0, ConvertR(response, true)));
 }
Ejemplo n.º 6
0
 public static Incident Delay(long delay, Proc.edureSimple response)
 {
     return(SystemClock.Delay(delay, ConvertR(response, true)));
 }
Ejemplo n.º 7
0
 public Strategy(MeritHeuristicFunctionType merit, string identifier, Proc.edureSimple action, Strategy prev = null)
     : this(merit, identifier, Proc.ConvertR(action, false), prev)
 {
 }
Ejemplo n.º 8
0
 public Strategy(string identifier, Proc.edureSimple action, Strategy prev = null)
     : this(identifier, Proc.ConvertR(action, false), prev)
 {
 }