net.clackrouter.component.extension
Class Counter

java.lang.Object
  extended by net.clackrouter.component.base.ClackComponent
      extended by net.clackrouter.component.extension.Counter
All Implemented Interfaces:
Alarm

public class Counter
extends ClackComponent

Simple component that transparently passes packets on to the next component , but graphically displays the number of packets that have passed through it.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.clackrouter.component.base.ClackComponent
ClackComponent.Waiter
 
Field Summary
static int DEFAULT_WAIT_MILLIS
           
static int LAST_UNIQUE_COUNT
           
static int PORT_IN
           
static int PORT_OUT
           
 
Fields inherited from class net.clackrouter.component.base.ClackComponent
componentCell, m_has_error, m_log, m_name, m_num_ports, m_packetcount_in, m_packetcount_out, m_ports, mListeners, mRouter, pendingError, SIGNAL_ERROR_LEN_MSEC, UNIQUE_COUNT
 
Constructor Summary
Counter(Router router, java.lang.String name)
           
 
Method Summary
 void acceptPacket(VNSPacket packet, int port_number)
          The starting point for packet-processing when packets are "pushed" to this component.
 java.lang.String getCLabel()
           
 CounterView getCounterView()
           
 int getMyUniqueCount()
           
 javax.swing.JPanel getPropertiesView()
          Method for getting the properties view associated with this component Property views are used to display more detailed information about internal component state.
 VertexView getView(JGraph graph, CellMapper mapper)
          Override ClackComponent's method to provide for special drawing of the Counter with a CounterView object.
 boolean isModifying()
          Reports whether this component modifies packets passed through it This value is used by the static checking algorithm used to make sure port connections are valid.
 void resetCounter()
           
 void setCLabel(java.lang.String cLabel)
          set the label for the counter
 void setCounterView(CounterView v)
           
protected  void setupPorts(int numPorts)
          Allocates an array of ClackPort objects to be used by this component
 
Methods inherited from class net.clackrouter.component.base.ClackComponent
createCopy, createInputPullPort, createInputPushPort, createOutputPullPort, createOutputPushPort, error, fireListeners, getColor, getComponentCell, getHierarchicalView, getLog, getName, getNumPorts, getPacketCountIn, getPacketCountOut, getPendingError, getPort, getRouter, getSerializableProperties, getTime, getTypeName, getUniqueCount, handlePullRequest, hasError, initializeProperties, isHierarchical, log, notifyAlarm, poll, registerListener, sendOutPort, setAlarm, setComponentCell, setName, setPendingError, setView, showErrorDialog, signalError, try_repaint, unregisterListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PORT_IN

public static int PORT_IN

PORT_OUT

public static int PORT_OUT

DEFAULT_WAIT_MILLIS

public static int DEFAULT_WAIT_MILLIS

LAST_UNIQUE_COUNT

public static int LAST_UNIQUE_COUNT
Constructor Detail

Counter

public Counter(Router router,
               java.lang.String name)
Method Detail

setCounterView

public void setCounterView(CounterView v)

getCounterView

public CounterView getCounterView()

getMyUniqueCount

public int getMyUniqueCount()

setCLabel

public void setCLabel(java.lang.String cLabel)
set the label for the counter


getCLabel

public java.lang.String getCLabel()

setupPorts

protected void setupPorts(int numPorts)
Description copied from class: ClackComponent
Allocates an array of ClackPort objects to be used by this component

Overrides:
setupPorts in class ClackComponent
Parameters:
numPorts - the number of ports to create

isModifying

public boolean isModifying()
Description copied from class: ClackComponent
Reports whether this component modifies packets passed through it This value is used by the static checking algorithm used to make sure port connections are valid. Sub-classes that do not modify packets should override this method

Overrides:
isModifying in class ClackComponent
Returns:
by default, we assume the component modifies packets

acceptPacket

public void acceptPacket(VNSPacket packet,
                         int port_number)
Description copied from class: ClackComponent

The starting point for packet-processing when packets are "pushed" to this component.

The default implementation warns that the packet is being ignored.

Overrides:
acceptPacket in class ClackComponent
Parameters:
packet - The pushed packet
port_number - The number of the port that this packet is arriving on

resetCounter

public void resetCounter()

getPropertiesView

public javax.swing.JPanel getPropertiesView()
Description copied from class: ClackComponent
Method for getting the properties view associated with this component Property views are used to display more detailed information about internal component state. This method creates a default property view, and can be overriden to provide custom properties views

Overrides:
getPropertiesView in class ClackComponent
Returns:
this component's property view

getView

public VertexView getView(JGraph graph,
                          CellMapper mapper)
Override ClackComponent's method to provide for special drawing of the Counter with a CounterView object.

Overrides:
getView in class ClackComponent
Parameters:
graph - the Router Graph
mapper - the CellMapper associated with this Router Graph
Returns:
the VertexView for rendering this component