Child:
[569601]
(diff)
Download this file
ControlPDU.msg
98 lines (76 with data), 2.3 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"
}}
message PDU;
message ControlPDU extends PDU{
type = -1;
// unsigned int controlSeqNum;
}
message NAckPDU extends ControlPDU{
unsigned int ackNackSeqNum;
}
message FlowControlPDU extends NAckPDU {
unsigned int newRightWinEdge;
unsigned int newRate;
unsigned long timeUnit;
unsigned int myLeftWinEdge;
unsigned int myRightWinEdge;
unsigned int myRcvRate;
}
message AckOnlyPDU extends NAckPDU{
type = ACK_ONLY_PDU;
}
message NackOnlyPDU extends NAckPDU{
type = NACK_ONLY_PDU;
}
message AckFlowPDU extends FlowControlPDU{
type = ACK_FLOW_PDU;
}
message NackFlowPDU extends FlowControlPDU{
type = NACK_FLOW_PDU;
}
message FlowControlOnlyPDU extends FlowControlPDU{
type = FLOW_ONLY_PDU;
}
message SelectiveNAckFlow extends FlowControlPDU{
unsigned int newLeftWinEdge;
unsigned int nackListLen;
unsigned int nackList [];
}
message SelectiveAckFlowPDU extends SelectiveNAckFlow{
type = SELECT_ACK_FLOW_PDU;
}
message SelectiveNackFlowPDU extends SelectiveNAckFlow{
type = SELECT_NACK_FLOW_PDU;
}
message SelectiveAckPDU extends SelectiveNAckFlow{
type = SELECT_ACK_PDU;
}
message SelectiveNackPDU extends SelectiveNAckFlow{
type = SELECT_NACK_PDU;
}
message ControlAckPDU extends ControlPDU{
type = CONTROL_ACK_PDU;
unsigned int lastCtrlSeqNumRcv;
unsigned int sndLtWinEdge;
unsigned int sndRtWinEdge;
unsigned int myLtWinEdge;
unsigned int myRtWinEdge;
unsigned int myRcvRate;
}