Ejemplo n.º 1
0
 public static void Mobile3G(RouteDef def)
 {
     // TODO: use Zigorat or Box Muller transform
     // for better latencies
     def.Latency    = r => r.Next(100, 500).Ms();
     def.PacketLoss = r => r.Next(0, 100) == 1;
 }
Ejemplo n.º 2
0
 public static void Internet(RouteDef obj)
 {
     obj.Latency = r => {
         var next = r.Next(20, 100);
         Console.WriteLine($"Latency {next} ms");
         return(next.Ms());
     };
 }
Ejemplo n.º 3
0
 public SimRoute(SimScheduler scheduler, SimCluster network, RouteId route, RouteDef def)
 {
     _scheduler = scheduler;
     _network   = network;
     _route     = route;
     _factory   = new TaskFactory(_scheduler);
     _def       = def;
 }
Ejemplo n.º 4
0
        public static void ReverseLatency(RouteDef def)
        {
            // from 50 to 10 and back
            int latency = 50;

            def.Latency = r => {
                latency -= 2;
                if (latency <= 10)
                {
                    latency = 50;
                }

                return(latency.Ms());
            };
        }
Ejemplo n.º 5
0
 public static void LogAll(RouteDef d)
 {
     d.Debug = packet => true;
 }
Ejemplo n.º 6
0
 public static void IdealFixed(RouteDef def)
 {
     def.Latency = random => 50.Ms();
 }
Ejemplo n.º 7
0
 public static void AzureIntranet(RouteDef obj)
 {
     obj.Latency    = r => r.Next(2, 10).Ms();
     obj.PacketLoss = r => r.Next(0, 10000) == 1;
 }