jist.swans.route
Interface RouteInterface

All Superinterfaces:
JistAPI.Proxiable, JistAPI.Timeless, NetInterface.NetHandler
All Known Subinterfaces:
RouteInterface.Aodv, RouteInterface.Dsr, RouteInterface.Zrp
All Known Implementing Classes:
RouteAodv, RouteDsr, RouteZrp

public interface RouteInterface
extends NetInterface.NetHandler, JistAPI.Proxiable

Defines the interface of all Routing implementations and the Route entity.

Since:
SWANS1.0
Version:
$Id: RouteInterface.java,v 1.48 2004/04/06 16:07:50 barr Exp $
Author:
Rimon Barr <barr+jist@cs.cornell.edu>

Nested Class Summary
static interface RouteInterface.Aodv
          AODV routing entity interface.
static interface RouteInterface.Dsr
          DSR routing entity interface.
static interface RouteInterface.Zrp
          ZRP routing entity interface.
 
Method Summary
 void peek(NetMessage msg, MacAddress lastHop)
          Called by the network layer for every incoming packet.
 void send(NetMessage msg)
          Called by the network layer to request transmission of a packet that requires routing.
 
Methods inherited from interface jist.swans.net.NetInterface.NetHandler
receive
 

Method Detail

peek

void peek(NetMessage msg,
          MacAddress lastHop)
Called by the network layer for every incoming packet. A routing implementation may wish to look at these packets for informational purposes, but should not change their contents.

Parameters:
msg - incoming packet
lastHop - last link-level hop of incoming packet

send

void send(NetMessage msg)
Called by the network layer to request transmission of a packet that requires routing. It is the responsibility of the routing layer to provide a best-effort transmission of this packet to an appropriate next hop by calling the network layer sending routines once this routing information becomes available.

Parameters:
msg - outgoing packet