net.clackrouter.component.simplerouter
Class InterfaceIn

java.lang.Object
  extended by net.clackrouter.component.base.ClackComponent
      extended by net.clackrouter.component.base.Interface
          extended by net.clackrouter.component.simplerouter.InterfaceIn
All Implemented Interfaces:
Alarm

public class InterfaceIn
extends Interface

Represents an input interface, a FromDevice(ethX) component, in a Clack router.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.clackrouter.component.base.ClackComponent
ClackComponent.Waiter
 
Field Summary
static int NUM_PORTS
           
static int PORT_FROM_ROUTER
           
static int PORT_TO_INTERNAL
           
 
Fields inherited from class net.clackrouter.component.base.Interface
device_name, ETH_BCAST_ADDR, IP_ADDRESS, IP_NETMASK, m_eth_addr, m_ip_addr, m_ip_subnet
 
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, view
 
Constructor Summary
InterfaceIn(java.lang.String name, Router router, TopologyModel.Interface entry)
           
InterfaceIn(java.lang.String name, Router router, VNSHWInfo.InterfaceEntry entry)
           
 
Method Summary
 void acceptPacket(VNSPacket packet, int port_number)
          Not a valid method for InterfaceIn, which intead communicates directly with the router
 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.
 java.util.Properties getSerializableProperties(boolean isTransient)
          Used to get all values the component would like to serialize to file.
 void initializeProperties(java.util.Properties props)
          Method used to initialize a component based on serialized properties values saved to a file.
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.Interface
getColor, getDeviceName, getIPAddress, getIPSubnet, getMACAddress, getMACAddressString, getTypeName, setIPAddress, setIPSubnet
 
Methods inherited from class net.clackrouter.component.base.ClackComponent
createCopy, createInputPullPort, createInputPushPort, createOutputPullPort, createOutputPushPort, error, fireListeners, getComponentCell, getHierarchicalView, getLog, getName, getNumPorts, getPacketCountIn, getPacketCountOut, getPendingError, getPort, getRouter, getTime, getUniqueCount, getView, handlePullRequest, hasError, isHierarchical, isModifying, 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_TO_INTERNAL

public static int PORT_TO_INTERNAL

PORT_FROM_ROUTER

public static int PORT_FROM_ROUTER

NUM_PORTS

public static int NUM_PORTS
Constructor Detail

InterfaceIn

public InterfaceIn(java.lang.String name,
                   Router router,
                   VNSHWInfo.InterfaceEntry entry)

InterfaceIn

public InterfaceIn(java.lang.String name,
                   Router router,
                   TopologyModel.Interface entry)
Method Detail

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

acceptPacket

public void acceptPacket(VNSPacket packet,
                         int port_number)
Not a valid method for InterfaceIn, which intead communicates directly with the router

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

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

initializeProperties

public void initializeProperties(java.util.Properties props)
Description copied from class: ClackComponent

Method used to initialize a component based on serialized properties values saved to a file.

By default, no action is performed

Overrides:
initializeProperties in class Interface
Parameters:
props - all property values serialized for this component

getSerializableProperties

public java.util.Properties getSerializableProperties(boolean isTransient)
Description copied from class: ClackComponent

Used to get all values the component would like to serialize to file.

These values are stored as String -> String pairs in a Properties object. These properties will be passed to ClackComponent.initializeProperties(Properties) when the Component is recreated.

Serialization can be transient or not, which determines whether all or just some of the internal component state is saved. Transient serialization means that some properties will be saved which may make this serialized file invalid for use on different network or router set-ups. For example, saving info specific to the IP addresses of a certain topology would only happen if transient serialization was used. However, it can be desireable to save these properties when setting up exact demonstrations.

By default we have no properties to serialize, so we return an empty object

Overrides:
getSerializableProperties in class Interface
Parameters:
isTransient - flag indicating if serialization is transient
Returns:
all property key-value pairs to serialize