public class ProactiveRouting extends java.lang.Object implements IRouting, IListener, IOperation
Modifier and Type | Field and Description |
---|---|
static byte |
MAXIMUM_HOPS
The maximum hop count for route announcements.
|
static short |
PLUGIN_ABILITY
The ability of the plug-in [6][0].
|
static java.lang.String |
PROPERTY_GATEWAY
The property in the plug-in description that determines
whether the plug-in has gateway capabilities.
|
static java.lang.String |
PROPERTY_NEIGHBORS
The property in the plug-in description that contains a
neighbor list.
|
static java.lang.String |
PROPERTY_SYSTEM
The property in the plug-in description that contains a
system id.
|
EXTENSION_COMPRESSION, EXTENSION_DISCOVERY, EXTENSION_ENCRYPTION, EXTENSION_ROUTING, EXTENSION_SEMANTIC, EXTENSION_SERIALIZATION, EXTENSION_TRANSCEIVER
Constructor and Description |
---|
ProactiveRouting()
Creates a new proactive routing plug-in that does not
retransmit route announcements via the same technology.
|
ProactiveRouting(boolean retransmit)
Creates a new proactive routing plug-in.
|
Modifier and Type | Method and Description |
---|---|
void |
deliverIncoming(IStreamConnector connector,
ISession session)
Called whenever a connection request is incoming.
|
PluginDescription |
getPluginDescription()
Returns the plug-in description.
|
void |
handleEvent(Event event)
Handles incoming route announcements.
|
IStreamConnector |
openSession(ISession session)
Called to open a session with some remote system.
|
void |
perform(IMonitor monitor)
Perform continuous route announcements until this thing is deactivated.
|
boolean |
prepareSession(PluginDescription d,
NFCollection c,
ISession s)
Called to prepare a session to the specified remote device
|
void |
setFilter(IRoutingFilter filter)
Sets the gateway filter to the specified filter.
|
void |
setRoutingManager(IRoutingManager manager)
Sets the routing manager upon startup.
|
void |
start()
Called to start the plug-in.
|
void |
stop()
Called to stop the plug-in.
|
public static final byte MAXIMUM_HOPS
public static short PLUGIN_ABILITY
public static java.lang.String PROPERTY_NEIGHBORS
public static java.lang.String PROPERTY_SYSTEM
public static java.lang.String PROPERTY_GATEWAY
public ProactiveRouting()
public ProactiveRouting(boolean retransmit)
retransmit
- A flag that indicates whether route
announcements will be retransmitted via the same
technology. Normally, this is only needed for the
network emulator.public void setRoutingManager(IRoutingManager manager)
setRoutingManager
in interface IRouting
manager
- The routing manager upon startup.public PluginDescription getPluginDescription()
getPluginDescription
in interface IPlugin
public void start()
public void stop()
public void deliverIncoming(IStreamConnector connector, ISession session)
deliverIncoming
in interface IDispatcher
connector
- The stream connector of the request.session
- The session data of the request.public IStreamConnector openSession(ISession session) throws java.io.IOException
openSession
in interface IStreamer
session
- The session data object.java.io.IOException
- Thrown if an error occurs.public boolean prepareSession(PluginDescription d, NFCollection c, ISession s)
prepareSession
in interface IStreamer
d
- The plugin descripton of the remote device.c
- The nf collection with the requirements.s
- The session data used to fill in requests.public void setFilter(IRoutingFilter filter)
filter
- The gateway filter.public void handleEvent(Event event)
handleEvent
in interface IListener
event
- Remote route announcements.public void perform(IMonitor monitor)
perform
in interface IOperation
monitor
- The monitor to cancel.