Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "SCTPSendStream.h"
00020
00021
00022 SCTPSendStream::SCTPSendStream(const uint16 id)
00023 {
00024 streamId = id;
00025 nextStreamSeqNum = 0;
00026
00027 char queueName[64];
00028 snprintf(queueName, sizeof(queueName), "OrderedSendQueue ID %d", id);
00029 streamQ = new cQueue(queueName);
00030 snprintf(queueName, sizeof(queueName), "UnorderedSendQueue ID %d", id);
00031 uStreamQ = new cQueue(queueName);
00032 }
00033
00034 SCTPSendStream::~SCTPSendStream()
00035 {
00036 deleteQueue();
00037 }
00038
00039 void SCTPSendStream::deleteQueue()
00040 {
00041 SCTPDataMsg* datMsg;
00042 SCTPSimpleMessage* smsg;
00043 int32 count = streamQ->length();
00044 while (!streamQ->empty()) {
00045 datMsg = check_and_cast<SCTPDataMsg*>(streamQ->pop());
00046 smsg = check_and_cast<SCTPSimpleMessage*>(datMsg->decapsulate());
00047 delete smsg;
00048 delete datMsg;
00049 count--;
00050 }
00051 while (!uStreamQ->empty()) {
00052 datMsg = check_and_cast<SCTPDataMsg*>(uStreamQ->pop());
00053 smsg = check_and_cast<SCTPSimpleMessage*>(datMsg->decapsulate());
00054 delete smsg;
00055 delete datMsg;
00056 }
00057 delete streamQ;
00058 delete uStreamQ;
00059 }