public override int GetBehaviorHashCode() { return(AddMode.GetHashCode() ^ AinitValue.GetHashCode() ^ Atype.GetHashCode() ^ Awidth ^ Bconstant.GetHashCode() ^ BorrowSense.GetHashCode() ^ Btype.GetHashCode() ^ Bvalue.GetHashCode() ^ Bwidth ^ BypassCePriority.GetHashCode() ^ BypassSense.GetHashCode() ^ ConstantInputValue.GetHashCode() ^ Generator.GetHashCode() ^ HasBypass.GetHashCode() ^ HasCarryIn.GetHashCode() ^ HasCarryOut.GetHashCode() ^ HasCE.GetHashCode() ^ HasConstantInput.GetHashCode() ^ HasSCLR.GetHashCode() ^ HasSSET.GetHashCode() ^ Implementation.GetHashCode() ^ Latency.GetHashCode() ^ LatencyConfiguration.GetHashCode() ^ OutWidth); }
EmulationConfiguration GetEmulationConfiguration(Config.NetworkEmulation config) { EmulationConfiguration emulationConfiguration = null; if (config.EmulationType == NetworkEmProfile.Bandwidth) { emulationConfiguration = new BandwidthConfiguration { DownstreamBandwidth = config.BandwidthDownstreamSpeed, UpstreamBandwidth = config.BandwidthUpstreamSpeed, TargetEndpoints = config.TargetEndpoints }; } if (config.EmulationType == NetworkEmProfile.Corruption) { emulationConfiguration = new CorruptionConfiguration { PacketPercentage = config.PacketPercentage, TargetEndpoints = config.TargetEndpoints }; } if (config.EmulationType == NetworkEmProfile.Latency) { emulationConfiguration = new LatencyConfiguration { FixedLatencyDelayMilliseconds = _config.LatencyDelay, TargetEndpoints = config.TargetEndpoints }; } /* TODO -CT * if (config.EmulationType == NetworkEmProfile.Disconnect) * { * emulationConfiguration = new DisconnectConfiguration * { * ConnectionTime = config.ConnectionTime, * DisconnectionTime = config.DisconnectionTime, * PeriodicDisconnectionRate = config.PeriodicDisconnectionRate, * TargetEndpoints = config.TargetEndpoints * }; * } */ if (config.EmulationType == NetworkEmProfile.Loss) //Random support implemented... { emulationConfiguration = new LossConfiguration { //BurstRate = config.BurstRate, //MaximumBurst = config.MaximumBurst, //MinimumBurst = config.MinimumBurst, //PeriodicLossPeriod = config.PeriodicLossPeriod, RandomLossRate = config.RandomLossRate, TargetEndpoints = config.TargetEndpoints }; } if (config.EmulationType == NetworkEmProfile.Reorder) { emulationConfiguration = new ReorderConfiguration { CorrelationPercentage = config.CorrelationPercentage, PacketPercentage = config.PacketPercentage }; } return(emulationConfiguration); }
private EmulationConfiguration GetEmulationConfiguration(Config.NetworkEmulation config) { EmulationConfiguration emulationConfiguration = null; if (config.EmulationType == NetworkEmProfile.Bandwidth) { emulationConfiguration = new BandwidthConfiguration { DownstreamBandwidth = config.BandwidthDownstreamSpeed, UpstreamBandwidth = config.BandwidthUpstreamSpeed, TargetEndpoints = config.TargetEndpoints }; } if (config.EmulationType == NetworkEmProfile.Corruption) { emulationConfiguration = new CorruptionConfiguration { PacketPercentage = config.PacketPercentage, TargetEndpoints = config.TargetEndpoints }; } if (config.EmulationType == NetworkEmProfile.Latency) { emulationConfiguration = new LatencyConfiguration { FixedLatencyDelayMilliseconds = _config.LatencyDelay, TargetEndpoints = config.TargetEndpoints }; } /* TODO -CT * if (config.EmulationType == NetworkEmProfile.Disconnect) * { * emulationConfiguration = new DisconnectConfiguration * { * ConnectionTime = config.ConnectionTime, * DisconnectionTime = config.DisconnectionTime, * PeriodicDisconnectionRate = config.PeriodicDisconnectionRate, * TargetEndpoints = config.TargetEndpoints * }; * } */ if (config.EmulationType == NetworkEmProfile.Loss) //Random and Burst are supported... { emulationConfiguration = new LossConfiguration { LossRate = config.LossRate, LossType = config.LossType, TargetEndpoints = config.TargetEndpoints }; if (config.LossType == LossType.Burst) { ((LossConfiguration)emulationConfiguration).BurstRate = config.BurstRate; } } if (config.EmulationType == NetworkEmProfile.Reorder) { emulationConfiguration = new ReorderConfiguration { CorrelationPercentage = config.CorrelationPercentage, PacketPercentage = config.PacketPercentage }; } return(emulationConfiguration); }