/** * Jeff Rupp * Master's Thesis * 2005 * * Basic interface that any node must implement */ package jdr.mobisim; public interface NodeIF { public String GetAlgorithmName(); public void ReceivePacket(PacketIF packet); public jdr.utils.FloatPoint getLocation(); public int getNodeNumber(); public double GetRemainingPower(); public double GetMaxPower(); public void DumpNodesHeard(); public void DumpClusterInfo(); public void DumpNodePacketQueue(); public void Draw(java.awt.Graphics2D graphics, java.awt.Rectangle bounds, double xScale, double yScale); public String GetClusterInfo(); // methods to set various changable parameters public void setLocation(jdr.utils.FloatPoint pt); public void SetNumNodesPerCluster(double nodesPerCluster); public void SetDataRate(double dataRateBps); public void SetWattHours(double wattHours); public void SetHighliteCluster(boolean highlite); public void SetHighliteCluster(boolean highlite, boolean propagate); public void SetTransmitRingsOn(boolean ringson); public void SetHighliteClusterMembers(boolean highlite, int clusterHead); public void setSensorDataHeaderSizeBytes(int dataheaderSize); public void setSensorDataSizeBytes(int dataSize); public void setSensorDataTicsBetweenTransmits(int dataInterval); public void setNumberOfHelloTransmitLevels(byte numLevels); public void setRehelloPercent(double rehelloPercent); }