drcl.inet.transport
Class TCPb
java.lang.Object
drcl.DrclObj
drcl.comp.Component
drcl.net.Module
drcl.inet.Protocol
drcl.inet.transport.TCP
drcl.inet.transport.TCPb
- All Implemented Interfaces:
- ActiveComponent, java.lang.Cloneable, drcl.inet.transport.Connection, InetConstants, ObjectCloneable, ObjectDuplicable, java.io.Serializable, TCPConstants
- Direct Known Subclasses:
- TCP_socket
- public class TCPb
- extends TCP
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.
- Version:
- 1.0, 7/2001
- See Also:
- Serialized Form
|
Field Summary |
static boolean |
NS_COMPATIBLE
Sets to true to make TCP ns compatible |
| Fields inherited from class drcl.inet.transport.TCP |
AWND_DEFAULT, DEBUG_ACK, DEBUG_DUPACK, DEBUG_LEVELS, DEBUG_RTT, DEBUG_SACK, DEBUG_SAMPLE, DEBUG_SEND, DEBUG_TIMEOUT, DEBUG_VEGAS, INIT_SS_THRESHOLD, MAXCWND_DEFAULT, NUMDUPACKS, state |
| Fields inherited from class drcl.comp.Component |
FLAG_COMPONENT_NOTIFICATION, FLAG_DEBUG_ENABLED, FLAG_DIRECT_OUTPUT_ENABLED, FLAG_ENABLED, FLAG_ERROR_ENABLED, FLAG_EVENT_ENABLED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, locks, name, parent, PortGroup_DEFAULT_GROUP, PortGroup_EVENT, PortGroup_SERVICE, Root, Trace_DATA, Trace_SEND |
| 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 |
| Fields inherited from interface drcl.inet.InetConstants |
BYTE_MODE, DEFAULT_BANDWIDTH, DEFAULT_BUFFER_SIZE, DEFAULT_MTU, EVENT_ID_CHANGED_PORT_ID, EVENT_IDENTITY_ADDED, EVENT_IDENTITY_REMOVED, EVENT_IF_NEIGHBOR_DOWN, EVENT_IF_NEIGHBOR_UP, EVENT_IF_PORT_ID, EVENT_LINK_BROKEN, EVENT_LINK_BROKEN_PORT_ID, EVENT_MCAST_HOST_PORT_ID, EVENT_PKT_ARRIVAL, EVENT_PKT_ARRIVAL_PORT_ID, EVENT_RT_ENTRY_ADDED, EVENT_RT_ENTRY_MODIFIED, EVENT_RT_ENTRY_REMOVED, EVENT_RT_MCAST_CHANGED_PORT_ID, EVENT_RT_UCAST_CHANGED_PORT_ID, EVENT_VIF_NEIGHBOR_DOWN, EVENT_VIF_NEIGHBOR_UP, EVENT_VIF_PORT_ID, HOST_ENTRY_EXT, ID_CSL, ID_TRACE_RT, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_AODV, PID_DV, PID_DVMRP, PID_HELLO, PID_IGMP, PID_OSPF, PID_RSVP, PID_TCP, PID_TRACE_RT, PID_UDP, SERVICE_CONFIGSW_PORT_ID, SERVICE_ID_PORT_ID, SERVICE_IF_PORT_ID, SERVICE_MCAST_PORT_ID, SERVICE_RT_PORT_ID, UCAST_QUERY_PORT_ID |
|
Constructor Summary |
TCPb()
|
TCPb(java.lang.String id_)
|
| Methods inherited from class drcl.inet.transport.TCP |
configInfo, configureRTT, getBASERTT_INIT, getDebugLevelNames, getImplementation, getLocalAddr, getLocalPort, getMAXCWND, getMAXRTO, getMSS, getNumBytesRetransmitted, getNumTimeouts, getPeer, getRemotePort, getRTTVAR_INIT, getSRTT_INIT, getState, getTick, getTTL, isMaxburstEnabled, isSackEnabled, setBASERTT_INIT, setImplementation, setMaxburstEnabled, setMAXCWND, setMAXRTO, setRTTVAR_INIT, setSRTT_INIT, setTick |
| Methods inherited from class drcl.inet.Protocol |
broadcast, broadcast, broadcast, broadcast, broadcast, broadcast, broadcast, createConfigSwitchPort, createIDChangedEventPort, createIDServicePort, createIFEventPort, createIFQueryPort, createLinkBrokenEventPort, createMcastHostEventPort, createMcastQueryPort, createMulticastRTChangedEventPort, createPktArrivalEventPort, createRTServicePort, createUcastQueryPort, createUnicastRTChangedEventPort, createVIFEventPort, forward, forward, forward, forward, forward, forward, LinkBrokenEventHandler |
| Methods inherited from class drcl.comp.Component |
addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getID, getParent, getPort, getPort, getRoot, getTime, iduplicate, isAncestorOf, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectlyRelatedTo, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, setTraceEnabled, setTraceEnabled, sleepFor, sleepUntil, stop, toString, unexpose, unlock, useLocalForkManager, useLocalForkManager, wait |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
NS_COMPATIBLE
public static boolean NS_COMPATIBLE
- Sets to true to make TCP ns compatible
TCPb
public TCPb()
TCPb
public TCPb(java.lang.String id_)
getName
public java.lang.String getName()
- Description copied from class:
Component
- Returns the (informational) name of the component.
- Overrides:
getName in class TCP
reset
public void reset()
- Description copied from class:
Component
- Resets the component for being used anew.
All the internal variables must be set to the initial state.
All the ports and child components are reset as well.
- Overrides:
reset in class TCP
duplicate
public void duplicate(java.lang.Object source_)
- Description copied from class:
Component
- Duplicates the content of source_, including ID, name, child components
and connections among them, to this component.
Subclasses need to override this method to copy its own variables.
- Specified by:
duplicate in interface ObjectDuplicable- Overrides:
duplicate in class TCP
setDownPort
public void setDownPort(Port downPort_)
setTTL
public void setTTL(int ttl)
- Overrides:
setTTL in class TCP
setMSS
public void setMSS(int mss)
- Description copied from class:
TCP
- Sets the maximum segment size. This method initializes this TCP
component. Should not be called during simulation.
- Overrides:
setMSS in class TCP
setReceivingBuffers
public void setReceivingBuffers(int awnd_)
getReceivingBuffers
public int getReceivingBuffers()
getAvailableReceivingBuffers
public int getAvailableReceivingBuffers()
setSackEnabled
public void setSackEnabled(boolean sack_)
- Overrides:
setSackEnabled in class TCP
setDelayACKEnabled
public void setDelayACKEnabled(boolean delayack_)
isDelayACKEnabled
public boolean isDelayACKEnabled()
setDelayACKTimeout
public void setDelayACKTimeout(double v_)
getDelayACKTimeout
public double getDelayACKTimeout()
setPeer
public void setPeer(long peer_)
- Overrides:
setPeer in class TCP
info
public java.lang.String info()
- Description copied from class:
Component
- Returns information regarding this component.
Subclasses should override this method to provide useful information at
run time.
- Overrides:
info in class TCP
Copyright © 1998-2003 Distributed Real-time Computing Lab (DRCL). All Rights Reserved. ~ To J-Sim Home ~