|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectudt.UDTSender
public class UDTSender
sender part of a UDT entity
UDTReceiver| Constructor Summary | |
|---|---|
UDTSender(UDTSession session,
UDPEndPoint endpoint)
|
|
| Method Summary | |
|---|---|
long |
getCurrentSequenceNumber()
|
long |
getLargestSentSequenceNumber()
returns the largest sequence number sent so far |
long |
getLastAckSequenceNumber()
returns the last Ack. |
long |
getNextSequenceNumber()
the next sequence number for data packets. |
protected void |
handleResubmit(Long seqNumber)
re-submits an entry from the sender loss list |
protected void |
onAcknowledge(Acknowledgement acknowledgement)
|
protected void |
onNAKPacketReceived(NegativeAcknowledgement nak)
procedure when a NAK is received (spec. |
void |
pause()
|
protected void |
putUnacknowledgedPacketsIntoLossList()
for processing EXP event (see spec. |
protected void |
receive(UDTPacket p)
|
protected void |
sendAck2(long ackSequenceNumber)
|
void |
senderAlgorithm()
|
protected void |
sendKeepAlive()
|
protected boolean |
sendUdtPacket(DataPacket p,
int timeout,
TimeUnit units)
writes a data packet into the sendQueue, waiting at most for the specified time if this is not possible due to a full send queue |
void |
start()
start the sender thread |
void |
stop()
|
void |
waitForAck()
wait for the next acknowledge |
void |
waitForAck(long sequenceNumber)
wait until the given sequence number has been acknowledged |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public UDTSender(UDTSession session,
UDPEndPoint endpoint)
| Method Detail |
|---|
public void start()
protected boolean sendUdtPacket(DataPacket p,
int timeout,
TimeUnit units)
throws IOException,
InterruptedException
p - timeout - units -
trueif the packet was added, false if the
packet could not be added because the queue was full
IOException
InterruptedException
protected void receive(UDTPacket p)
throws IOException
IOException
protected void onAcknowledge(Acknowledgement acknowledgement)
throws IOException
IOExceptionprotected void onNAKPacketReceived(NegativeAcknowledgement nak)
nak -
protected void sendKeepAlive()
throws Exception
Exception
protected void sendAck2(long ackSequenceNumber)
throws IOException
IOException
public void senderAlgorithm()
throws InterruptedException,
IOException
InterruptedException
IOExceptionprotected void handleResubmit(Long seqNumber)
entry - protected void putUnacknowledgedPacketsIntoLossList()
public long getNextSequenceNumber()
public long getCurrentSequenceNumber()
public long getLargestSentSequenceNumber()
public long getLastAckSequenceNumber()
public void waitForAck(long sequenceNumber)
throws InterruptedException
InterruptedException
public void waitForAck()
throws InterruptedException
InterruptedExceptionpublic void stop()
public void pause()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||