public class RouterController extends java.lang.Object implements ComponentController, java.lang.Runnable
Each RouterController starts on a different port from any other RouterController, so that many can exist on the same host.
Constructor and Description |
---|
RouterController(Router router,
RouterOptions o,
int mPort,
int r2rPort,
java.lang.String name)
Construct a RouterController.
|
RouterController(Router router,
RouterOptions o,
int port,
java.lang.String name)
Construct a RouterController, given a specific port.
|
Modifier and Type | Method and Description |
---|---|
java.util.Collection<ApplicationHandle> |
appList()
List all App.
|
ApplicationResponse |
appStart(java.lang.String commandstr)
Start an App.
|
ApplicationResponse |
appStop(java.lang.String commandstr)
Stop an App.
|
boolean |
canSetAddress()
The address for the router can be set only if it has
not been set before and the router has no connections
|
boolean |
echo(Address addr)
Try to echo to a router with a given Address
|
ApplicationHandle |
findAppInfo(java.lang.String name)
Get an ApplicationHandle for an Application.
|
NetIF |
findNetIF(java.lang.String rName)
Return the netIF associated with a certain router name
|
Address |
getAddress()
Get the router address.
|
int |
getConnectionCount()
Get the no of connections that have been made.
|
int |
getConnectionPort()
Get the port for the connection port
|
NetIFListener |
getListener()
Access the listener
|
NetIF |
getLocalNetIF()
Get the local NetIF that has the sockets.
|
cc.clayman.console.ManagementConsole |
getManagementConsole()
Get the ManagementConsole.
|
int |
getManagementConsolePort()
Get the port for the ManagementConsole.
|
java.lang.String |
getName()
Get the name of this RouterController.
|
RouterPort |
getPort(int p)
Get port N.
|
RoutingTable |
getRoutingTable()
Return a routing table as a string
|
NetIF |
getTemporaryNetIFByID(int id)
Find a NetIF by an id.
|
java.util.List<RouterPort> |
listPorts()
Get a list of all the ports with Network Interfaces.
|
int |
newConnection()
Increment the no of connections that have been made.
|
void |
pauseMonitoring()
Pause monitoring
|
boolean |
ping(Address addr)
Try to ping router with a given Address
|
RouterPort |
plugTemporaryNetIFIntoPort(NetIF netIF)
Plug a NetIF into the RouterFabric
|
boolean |
readOptionsFile(java.lang.String fName)
Read a file containing router options
|
boolean |
readOptionsString(java.lang.String str)
Read a string containing router options
|
void |
removeNetIF(NetIF n)
Remove a NetIF
|
void |
resumeMonitoring()
Resume monitoring
|
void |
run()
The main thread loop.
|
ApplicationResponse |
runCommand(java.lang.String commandstr)
run a particular command on a router
|
boolean |
setAddress(Address addr)
Set the router address.
|
void |
setAP(int gid,
int ap)
Set the aggregation point for this router
|
boolean |
setName(java.lang.String name)
Set the name of this RouterController.
|
boolean |
setNetIFWeight(java.lang.String rName,
int weight)
Set the netIF weight associated with a link to a certain router name
|
void |
shutDown()
Shut down the router from internal message from console -- pass the message up to the router object
|
boolean |
start()
Start me up.
|
void |
startAP(int gid)
This node starts as an AP
|
void |
startMonitoring(java.net.InetSocketAddress addr,
int when)
Start monitoring.
|
boolean |
stop()
Stop the RouterController.
|
void |
stopAP()
This node stops as an AP
|
void |
stopMonitoring()
Stop monitoring.
|
public RouterController(Router router, RouterOptions o, int port, java.lang.String name)
public RouterController(Router router, RouterOptions o, int mPort, int r2rPort, java.lang.String name)
public java.lang.String getName()
getName
in interface ComponentController
public boolean setName(java.lang.String name)
public Address getAddress()
public boolean setAddress(Address addr)
public boolean canSetAddress()
public int getConnectionCount()
public int newConnection()
public int getManagementConsolePort()
public int getConnectionPort()
public cc.clayman.console.ManagementConsole getManagementConsole()
getManagementConsole
in interface ComponentController
public boolean start()
public boolean stop()
public void shutDown()
public void run()
Asynchronous commands include: CREATE_CONNECTION ip_addr/port - create a new network interface to a router on the address ip_addr/port
run
in interface java.lang.Runnable
public RoutingTable getRoutingTable()
public NetIF getTemporaryNetIFByID(int id)
public RouterPort plugTemporaryNetIFIntoPort(NetIF netIF)
public ApplicationResponse appStart(java.lang.String commandstr)
public ApplicationResponse appStop(java.lang.String commandstr)
public java.util.Collection<ApplicationHandle> appList()
public ApplicationHandle findAppInfo(java.lang.String name)
public NetIFListener getListener()
public ApplicationResponse runCommand(java.lang.String commandstr)
public boolean ping(Address addr)
public boolean echo(Address addr)
public NetIF getLocalNetIF()
public RouterPort getPort(int p)
public java.util.List<RouterPort> listPorts()
public NetIF findNetIF(java.lang.String rName)
public boolean setNetIFWeight(java.lang.String rName, int weight)
public void removeNetIF(NetIF n)
public boolean readOptionsString(java.lang.String str)
public boolean readOptionsFile(java.lang.String fName)
public void setAP(int gid, int ap)
public void startAP(int gid)
public void stopAP()
public void startMonitoring(java.net.InetSocketAddress addr, int when)
public void pauseMonitoring()
public void resumeMonitoring()
public void stopMonitoring()
User Space Routing 0.10.3