|
J-Sim v1.2.1-p7 API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectdrcl.DrclObj
drcl.comp.Component
drcl.net.Module
drcl.inet.Protocol
drcl.inet.transport.TCP
drcl.inet.transport.TCPb
Bi-directional (Single-session) TCP Protocol.
This class implements both the TCP sender and receiver.
Basically it is a result of carefully merging TCP and TCPSink.
In the current implementation, ACKs are not piggy-backed in data segments. This will be fixed shortly.
| Nested Class Summary |
| Nested classes inherited from class drcl.inet.transport.TCP |
TCP.VegasVariables |
| Nested classes inherited from class drcl.comp.Component |
Component.Locks |
| Field Summary | |
static boolean |
NS_COMPATIBLE
Sets to true to make TCP ns compatible |
| Fields inherited from class drcl.inet.transport.TCP |
ackPort, AWND, AWND_DEFAULT, backoff, burst, bytesRetx, cur_rtt, CWND, cwndPort, DEBUG_ACK, DEBUG_DUPACK, DEBUG_LEVELS, DEBUG_RTT, DEBUG_SACK, DEBUG_SAMPLE, DEBUG_SEND, DEBUG_TIMEOUT, DEBUG_VEGAS, dt_max, dup_ack, implementation, INIT_SS_THRESHOLD, last_seq, maxburst, MAXCWND, MAXCWND_DEFAULT, maxrto, MSS, numack, NUMDUPACKS, numTimeouts, recvBuffer, rttvar_bits, rttvar_exp, rttvar_init, rttvarPort, rtxcur_init, SACK, sbuffer, seqNoPort, snd_max, snd_nxt, snd_nxt_marked, snd_nxt_recorded, snd_una, srtt_bits, srtt_init, srttPort, sstPort, state, sthld, t_grain, t_rttvar, t_rtxcur, t_srtt, TTL, vegas |
| Fields inherited from class drcl.net.Module |
address, downPort, PortGroup_DOWN, PortGroup_UP, timerPort, upPort |
| Fields inherited from interface drcl.inet.transport.TCPConstants |
ACK_EVENT, ACK_PORT_ID, CLOSE_WAIT, CLOSED, CLOSING, CWND_EVENT, CWND_PORT_ID, DEFAULT_PID, DELAY_ACK, ESTABLISHED, ESTABLISHED_FIN, ESTABLISHED_OVER, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, LISTEN1, LISTEN2, NEW_RENO, PRE_CLOSED, PRE_LAST_ACK, PRE_SYN_SENT, RECEIVE, RENO, RTT_EVT, RTTVAR_EVENT, RTTVAR_PORT_ID, RXT_EVT, SEND, SEQNO_EVENT, SEQNO_PORT_ID, SEQNO_RCV_EVENT, SEQNO_RCV_PORT_ID, SEQNO_SENT_EVENT, SEQNO_SENT_PORT_ID, SRTT_EVENT, SRTT_PORT_ID, SST_EVENT, SST_PORT_ID, STATES, SYN_RCVD, SYN_SENT, TAHOE, TIME_WAIT, TIMEOUT_TYPES, VEGAS |
| Constructor Summary | |
TCPb()
|
|
TCPb(java.lang.String id_)
|
|
| Method Summary | |
protected void |
dataArriveAtDownPort(java.lang.Object data_,
Port downPort_)
The down port follows the PktDelivery
contract. |
protected void |
dataArriveAtUpPort(java.lang.Object data_,
Port upPort_)
The handler invoked when a packet arrives at an "up" port. |
void |
duplicate(java.lang.Object source_)
Duplicates the content of source_, including ID, name, child components and connections among them, to this component. |
protected int |
getAckNo()
|
protected int |
getAvailableRcvBuffer()
|
int |
getAvailableReceivingBuffers()
|
double |
getDelayACKTimeout()
|
java.lang.String |
getName()
Returns the (informational) name of the component. |
int |
getReceivingBuffers()
|
java.lang.String |
info()
Returns information regarding this component. |
boolean |
isDelayACKEnabled()
|
void |
reset()
Resets the component for being used anew. |
void |
setDelayACKEnabled(boolean delayack_)
|
void |
setDelayACKTimeout(double v_)
|
void |
setDownPort(Port downPort_)
|
void |
setMSS(int mss)
Sets the maximum segment size. |
void |
setPeer(long peer_)
|
void |
setReceivingBuffers(int awnd_)
|
void |
setSackEnabled(boolean sack_)
|
void |
setTTL(int ttl)
|
| Methods inherited from class drcl.inet.transport.TCP |
_start, ack_syn_fin, configInfo, configureRTT, getBASERTT_INIT, getDebugLevelNames, getImplementation, getLocalAddr, getLocalPort, getMAXCWND, getMAXRTO, getMSS, getNumBytesRetransmitted, getNumTimeouts, getPeer, getRemotePort, getRTTVAR_INIT, getSendingBuffer, getSeqNo, getSRTT_INIT, getState, getTick, getTTL, isMaxburstEnabled, isSackEnabled, option_process, recv, resetRXTTimer, rtt_init, rtt_update, rxt_timer, seq_max, setBASERTT_INIT, setImplementation, setMaxburstEnabled, setMAXCWND, setMAXRTO, setRTTVAR_INIT, setSRTT_INIT, setTick, snd_maxpck, snd_packet, snd_wnd, tcp_init, timeout, timer_backoff, win_decrease, win_increase, win_init |
| Methods inherited from class drcl.net.Module |
cancelTimeout, deliver, getAddress, process, removeDefaultDownPort, removeDefaultUpPort, removeTimerPort, setAddress, setTimeout, setTimeoutAt |
| Methods inherited from class drcl.DrclObj |
clone |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static boolean NS_COMPATIBLE
| Constructor Detail |
public TCPb()
public TCPb(java.lang.String id_)
| Method Detail |
public java.lang.String getName()
Component
getName in class TCPpublic void reset()
Component
reset in class TCPpublic void duplicate(java.lang.Object source_)
Component
duplicate in interface ObjectDuplicableduplicate in class TCPpublic void setDownPort(Port downPort_)
public void setTTL(int ttl)
setTTL in class TCPpublic void setMSS(int mss)
TCP
setMSS in class TCPpublic void setReceivingBuffers(int awnd_)
public int getReceivingBuffers()
public int getAvailableReceivingBuffers()
public void setSackEnabled(boolean sack_)
setSackEnabled in class TCPpublic void setDelayACKEnabled(boolean delayack_)
public boolean isDelayACKEnabled()
public void setDelayACKTimeout(double v_)
public double getDelayACKTimeout()
public void setPeer(long peer_)
setPeer in class TCP
protected void dataArriveAtUpPort(java.lang.Object data_,
Port upPort_)
Module
dataArriveAtUpPort in class TCP
protected void dataArriveAtDownPort(java.lang.Object data_,
Port downPort_)
PktDelivery
contract.
dataArriveAtDownPort in class TCPprotected int getAckNo()
getAckNo in class TCPprotected int getAvailableRcvBuffer()
getAvailableRcvBuffer in class TCPpublic java.lang.String info()
Component
info in class TCP
|
J-Sim v1.2.1-p7 API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||