Download this file
ControlPDU.msg
94 lines (71 with data), 2.1 kB
//
// Copyright © 2014 PRISTINE Consortium (http://ict-pristine.eu)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
cplusplus {{
#include "PDU.h"
}}
packet PDU;
packet ControlPDU extends PDU{
unsigned int controlSeqNum;
}
packet FlowControlPDU extends ControlPDU {
unsigned int rateLen;
unsigned int timeUnit;
unsigned int myLeftWinEdge;
unsigned int myRightWinEdge;
unsigned int myRcvRate;
}
packet NAckPDU extends ControlPDU{
unsigned int ackNackSeqNum;
type = -1;
}
packet AckOnlyPDU extends NAckPDU{
type = ACK_ONLY_PDU;
}
packet NackOnlyPDU extends NAckPDU{
type = NACK_ONLY_PDU;
}
packet NAck extends NAckPDU{
}
packet NAckFlow extends FlowControlPDU{
}
packet AckFlowPDU extends NAckFlow{
type = ACK_FLOW_PDU;
}
packet NackFlowPDU extends NAckFlow{
type = NACK_FLOW_PDU;
}
packet FlowControlOnlyPDU extends FlowControlPDU{
type = FLOW_ONLY_PDU;
}
packet SelectiveNAckFlow extends FlowControlPDU{
unsigned int newLeftWinEdge;
unsigned int newRightWinEdge;
unsigned int nackListLen;
unsigned int nackList [];
}
packet SelectiveAckFlowPDU extends SelectiveNAckFlow{
type = SELECT_ACK_FLOW_PDU;
}
packet SelectiveNackFlowPDU extends SelectiveNAckFlow{
type = SELECT_NACK_FLOW_PDU;
}
packet SelectiveAckPDU extends SelectiveNAckFlow{
type = SELECT_ACK_PDU;
}
packet SelectiveNackPDU extends SelectiveNAckFlow{
type = SELECT_NACK_PDU;
}