00001 // 00002 // Copyright (C) 2008 Irene Ruengeler 00003 // Copyright (C) 2010 Thomas Dreibholz 00004 // 00005 // This program is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU General Public License 00007 // as published by the Free Software Foundation; either version 2 00008 // of the License, or (at your option) any later version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with this program; if not, see <http://www.gnu.org/licenses/>. 00017 // 00018 00019 00020 #ifndef __SCTPSENDSTREAM_H 00021 #define __SCTPSENDSTREAM_H 00022 00023 #include <omnetpp.h> 00024 #include <list> 00025 #include "SCTPAssociation.h" 00026 #include "SCTPQueue.h" 00027 00028 class SCTPMessage; 00029 class SCTPCommand; 00030 class SCTPDataVariables; 00031 00032 00033 class INET_API SCTPSendStream : public cPolymorphic 00034 { 00035 protected: 00036 uint16 streamId; 00037 uint16 nextStreamSeqNum; 00038 cQueue* streamQ; 00039 cQueue* uStreamQ; 00040 int32 ssn; 00041 public: 00042 00043 SCTPSendStream(const uint16 id); 00044 ~SCTPSendStream(); 00045 00046 inline cQueue* getStreamQ() const { return streamQ; }; 00047 inline cQueue* getUnorderedStreamQ() const { return uStreamQ; }; 00048 inline uint32 getNextStreamSeqNum() const { return nextStreamSeqNum; }; 00049 inline void setNextStreamSeqNum(const uint16 num) { nextStreamSeqNum = num; }; 00050 inline uint16 getStreamId() const { return streamId; }; 00051 inline void setStreamId(const uint16 id) { streamId = id; }; 00052 void deleteQueue(); 00053 }; 00054 00055 #endif