package org.lucci.madhoc.network.monitor;
import java.util.Collection;
import java.util.Vector;
import org.lucci.madhoc.gui.aircraft.AircraftView;
import org.lucci.madhoc.network.monitor.measure.AverageDegreeSensor;
import org.lucci.madhoc.network.monitor.measure.AvgNumberOfBytesBufferizedMeasure;
import org.lucci.madhoc.network.monitor.measure.AvgTimeForRemeeting;
import org.lucci.madhoc.network.monitor.measure.CarCountSensor;
import org.lucci.madhoc.network.monitor.measure.ConnectionAverageAgeSensor;
import org.lucci.madhoc.network.monitor.measure.ConnectionBandwithDistributionMeasure;
import org.lucci.madhoc.network.monitor.measure.ConnectionCountSensor;
import org.lucci.madhoc.network.monitor.measure.ConnectionUsedCountSensor;
import org.lucci.madhoc.network.monitor.measure.CostSensor;
import org.lucci.madhoc.network.monitor.measure.DegreeDistributionMeasure;
import org.lucci.madhoc.network.monitor.measure.DistanceBetweenStationsInRangeMeasure;
import org.lucci.madhoc.network.monitor.measure.LoadDistributionMeasure;
import org.lucci.madhoc.network.monitor.measure.MaximumDegreeSensor;
import org.lucci.madhoc.network.monitor.measure.MinimumDegreeSensor;
import org.lucci.madhoc.network.monitor.measure.NetworkOverload;
import org.lucci.madhoc.network.monitor.measure.NumberOfBluetoothConnections;
import org.lucci.madhoc.network.monitor.measure.NumberOfManualConnections;
import org.lucci.madhoc.network.monitor.measure.NumberOfPartitions;
import org.lucci.madhoc.network.monitor.measure.NumberOfWifiConnections;
import org.lucci.madhoc.network.monitor.measure.OutputBuffersInUseMeasure;
import org.lucci.madhoc.network.monitor.measure.PartitionDistributionMeasure;
import org.lucci.madhoc.network.monitor.measure.PedestrianCountSensor;
import org.lucci.madhoc.network.monitor.measure.RatioOfRedundantConnections;
import org.lucci.madhoc.network.monitor.measure.SizeOfGreatestConnectedComponent;
import org.lucci.madhoc.network.monitor.measure.StationCountSensor;
import org.lucci.madhoc.network.monitor.measure.ThroughputSensor;
import org.lucci.madhoc.simulation.Monitor;
public class NetworkMonitor extends Monitor
{
public NetworkMonitor()
{
addMeasure(new StationCountSensor());
addMeasure(new CarCountSensor());
addMeasure(new PedestrianCountSensor());
addMeasure(new ConnectionCountSensor());
addMeasure(new ConnectionUsedCountSensor());
addMeasure(new RatioOfRedundantConnections());
addMeasure(new ConnectionAverageAgeSensor());
addMeasure(new AverageDegreeSensor());
addMeasure(new MinimumDegreeSensor());
addMeasure(new MaximumDegreeSensor());
addMeasure(new NumberOfPartitions());
addMeasure(new SizeOfGreatestConnectedComponent());
addMeasure(new NumberOfManualConnections());
addMeasure(new OutputBuffersInUseMeasure());
addMeasure(new AvgNumberOfBytesBufferizedMeasure());
addMeasure(new NetworkOverload());
addMeasure(new ThroughputSensor());
addMeasure(new NumberOfWifiConnections());
addMeasure(new NumberOfBluetoothConnections());
addMeasure(new DistanceBetweenStationsInRangeMeasure());
addMeasure(new DegreeDistributionMeasure());
addMeasure(new PartitionDistributionMeasure());
addMeasure(new LoadDistributionMeasure());
addMeasure(new ConnectionBandwithDistributionMeasure());
addMeasure(new CostSensor());
addMeasure(new AvgTimeForRemeeting());
}
public Collection<Class> getMonitorViewClasses()
{
Collection<Class> c = new Vector<Class>();
c.add(AircraftView.class);
return c;
}
public Class getStationApplicationClass()
{
return null;
}
public void preIteration()
{
}
public void postIteration()
{
}
public void effectiveIterationFrequencyChanged()
{
}
public void stateChanged()
{
}
public void secondElapsed()
{
}
public String getName()
{
return "network_monitor";
}
public void resetIterationScopedValues()
{
}
public String getFriendlyName()
{
return "Network";
}
}