Class TxCoordination

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

    public class TxCoordination
    extends MACActorBase
    TXCoordination class is responsible for initiating a session. After a packet arrives from the network layer, TXCoordination will generate RTS if the packet is long enough. It will send RTS to the destination and wait for CTS. If CTS is received within a specified interval, data will be sent after SIFS seconds. If ACK is received within a given time after the data is sent, the session is complete. TXCoordination will go to backoff before handling the next packet in the queue.If the network packet is not long enough, RTS/CTS will not be used to reduce overhead. In either case, Carrier sense is only done for the first message in the sequence, which is RTS, retransmitted data or data if RTS is not used. TXCoordination gets the channel status by sending a backoff signal with count 0 to the Backoff process in the Transmission block.If the channel turns to be busy, TXCoordination will send another backoff signal with count -1 to start the real backoff. If CTS or ACK is not received in time, the corresponding RTS or data will neeed to be retransmitted. TXCoordination will increase the corresponding retry counters. The backoff window size is also exponentially increased Retransmission will not start until another backoff is completed to avoid congestion.
    Since:
    Ptolemy II 4.0
    Version:
    TxCoordination.java,v 1.13 2004/04/22 19:46:17 ellen_zh Exp
    Author:
    Charlie Zhong, Yang Zhao
    Pt.AcceptedRating:
    Red (reviewmoderator)
    Pt.ProposedRating:
    Red (czhong)
    • Field Detail

      • PduRequest

        public TypedIOPort PduRequest
        Port receiving messages from the network layer
      • TXTXConfirm

        public TypedIOPort TXTXConfirm
        Port receiving confirmation from the Transmission block
      • BkDone

        public TypedIOPort BkDone
        Port receiving backoff complete notification from the Backoff process
      • GotAck

        public TypedIOPort GotAck
        Port receiving the notification of the receipt of either Ack or Cts from the RxCoordination process
      • fromPowerControl

        public TypedIOPort fromPowerControl
        Port receiving messages from the PowerControl block
      • getBackoff

        public TypedIOPort getBackoff
        Port sending the backoff request to the Backoff process
      • TXTXRequest

        public TypedIOPort TXTXRequest
        Port sending the TX request to the Transmission block
      • overhead

        public TypedIOPort overhead
        Port sending overhead of handling a pdu request.
    • Constructor Detail

      • TxCoordination

        public TxCoordination​(CompositeEntity container,
                              java.lang.String name)
                       throws IllegalActionException,
                              NameDuplicationException
        Construct an actor with the specified name and container. The container argument must not be null, or a NullPointerException will be thrown. If the name argument is null, then the name is set to the empty = string. This constructor write-synchronizes on the workspace.
        Parameters:
        container - The container.
        name - The name of the actor.
        Throws:
        IllegalActionException - If the container is incompatib= le with this actor.
        NameDuplicationException - If the name coincides with an actor already in the container.