|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectrouting.MessageRouter
routing.ActiveRouter
routing.SprayAndWaitRouter
public class SprayAndWaitRouter
Implementation of Spray and wait router as depicted in Spray and Wait: An Efficient Routing Scheme for Intermittently Connected Mobile Networks by Thrasyvoulos Spyropoulus et al.
| Field Summary | |
|---|---|
static java.lang.String |
BINARY_MODE
identifier for the binary-mode setting ("binaryMode") |
static java.lang.String |
MSG_COUNT_PROPERTY
Message property key |
static java.lang.String |
NROF_COPIES
identifier for the initial number of copies setting ("nrofCopies") |
static java.lang.String |
SPRAYANDWAIT_NS
SprayAndWait router's settings name space ("SprayAndWaitRouter") |
| Fields inherited from class routing.ActiveRouter |
|---|
DELETE_DELIVERED_S, deleteDelivered, RESPONSE_PREFIX, TTL_CHECK_INTERVAL |
| Fields inherited from class routing.MessageRouter |
|---|
B_SIZE_S, DENIED_NO_SPACE, DENIED_OLD, MSG_TTL_S, msgTtl, Q_MODE_FIFO, Q_MODE_RANDOM, RCV_OK, SEND_QUEUE_MODE_S, TRY_LATER_BUSY |
| Constructor Summary | |
|---|---|
|
SprayAndWaitRouter(Settings s)
|
protected |
SprayAndWaitRouter(SprayAndWaitRouter r)
Copy constructor. |
| Method Summary | |
|---|---|
boolean |
createNewMessage(Message msg)
Creates a new message to the router. |
Message |
messageTransferred(java.lang.String id,
DTNHost from)
This method should be called (on the receiving host) after a message was successfully transferred. |
int |
receiveMessage(Message m,
DTNHost from)
Try to start receiving a message from another host. |
SprayAndWaitRouter |
replicate()
Creates a replicate of this router. |
protected void |
transferDone(Connection con)
Called just before a transfer is finalized (by ActiveRouter.update()). |
void |
update()
Checks out all sending connections to finalize the ready ones and abort those whose connection went down. |
| Methods inherited from class routing.MessageRouter |
|---|
addToMessages, compareByQueueMode, deleteMessage, getBufferSize, getFreeBufferSize, getHost, getMessage, getMessageCollection, getNrofMessages, getRoutingInfo, hasMessage, isDeliveredMessage, messageAborted, putToIncomingBuffer, removeFromIncomingBuffer, removeFromMessages, sendMessage, sortByQueueMode, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String NROF_COPIES
public static final java.lang.String BINARY_MODE
public static final java.lang.String SPRAYANDWAIT_NS
public static final java.lang.String MSG_COUNT_PROPERTY
| Constructor Detail |
|---|
public SprayAndWaitRouter(Settings s)
protected SprayAndWaitRouter(SprayAndWaitRouter r)
r - The router prototype where setting values are copied from| Method Detail |
|---|
public int receiveMessage(Message m,
DTNHost from)
MessageRouter
receiveMessage in class ActiveRouterm - Message to put in the receiving bufferfrom - Who the message is from
public Message messageTransferred(java.lang.String id,
DTNHost from)
MessageRouter
messageTransferred in class ActiveRouterid - Id of the transferred messagefrom - Host the message was from (previous hop)
public boolean createNewMessage(Message msg)
MessageRouter
createNewMessage in class ActiveRoutermsg - The message to create
public void update()
ActiveRouter
update in class ActiveRouterActiveRouter.addToSendingConnections(Connection)protected void transferDone(Connection con)
ActiveRouter.update()).
Reduces the number of copies we have left for a message.
In binary Spray and Wait, sending host is left with floor(n/2) copies,
but in standard mode, nrof copies left is reduced by one.
transferDone in class ActiveRoutercon - The connection whose transfer was finalizedpublic SprayAndWaitRouter replicate()
MessageRouter
replicate in class MessageRouter
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||