Public Member Functions | Protected Attributes

SCTPSendStream Class Reference

#include <SCTPSendStream.h>

List of all members.

Public Member Functions

 SCTPSendStream (const uint16 id)
 ~SCTPSendStream ()
cQueue * getStreamQ () const
cQueue * getUnorderedStreamQ () const
uint32 getNextStreamSeqNum () const
void setNextStreamSeqNum (const uint16 num)
uint16 getStreamId () const
void setStreamId (const uint16 id)
void deleteQueue ()

Protected Attributes

uint16 streamId
uint16 nextStreamSeqNum
cQueue * streamQ
cQueue * uStreamQ
int32 ssn

Detailed Description

Definition at line 33 of file SCTPSendStream.h.


Constructor & Destructor Documentation

SCTPSendStream::SCTPSendStream ( const uint16  id  ) 

Definition at line 22 of file SCTPSendStream.cc.

{
    streamId              = id;
    nextStreamSeqNum = 0;

    char queueName[64];
    snprintf(queueName, sizeof(queueName), "OrderedSendQueue ID %d", id);
    streamQ = new cQueue(queueName);
    snprintf(queueName, sizeof(queueName), "UnorderedSendQueue ID %d", id);
    uStreamQ = new cQueue(queueName);
}

SCTPSendStream::~SCTPSendStream (  ) 

Definition at line 34 of file SCTPSendStream.cc.

{
    deleteQueue();
}


Member Function Documentation

void SCTPSendStream::deleteQueue (  ) 

Definition at line 39 of file SCTPSendStream.cc.

Referenced by ~SCTPSendStream().

{
    SCTPDataMsg*         datMsg;
    SCTPSimpleMessage* smsg;
    int32                    count = streamQ->length();
    while (!streamQ->empty()) {
        datMsg = check_and_cast<SCTPDataMsg*>(streamQ->pop());
        smsg     = check_and_cast<SCTPSimpleMessage*>(datMsg->decapsulate());
        delete smsg;
        delete datMsg;
        count--;
    }
    while (!uStreamQ->empty()) {
        datMsg = check_and_cast<SCTPDataMsg*>(uStreamQ->pop());
        smsg     = check_and_cast<SCTPSimpleMessage*>(datMsg->decapsulate());
        delete smsg;
        delete datMsg;
    }
    delete streamQ;
    delete uStreamQ;
}

uint32 SCTPSendStream::getNextStreamSeqNum (  )  const [inline]

Definition at line 48 of file SCTPSendStream.h.

Referenced by SCTPAssociation::makeDataVarFromDataMsg().

{ return nextStreamSeqNum; };

uint16 SCTPSendStream::getStreamId (  )  const [inline]

Definition at line 50 of file SCTPSendStream.h.

{ return streamId; };

cQueue* SCTPSendStream::getStreamQ (  )  const [inline]
cQueue* SCTPSendStream::getUnorderedStreamQ (  )  const [inline]
void SCTPSendStream::setNextStreamSeqNum ( const uint16  num  )  [inline]

Definition at line 49 of file SCTPSendStream.h.

Referenced by SCTPAssociation::makeDataVarFromDataMsg().

{ nextStreamSeqNum = num; };

void SCTPSendStream::setStreamId ( const uint16  id  )  [inline]

Definition at line 51 of file SCTPSendStream.h.

Referenced by SCTPAssociation::initStreams().

{ streamId = id; };


Member Data Documentation

Definition at line 37 of file SCTPSendStream.h.

Referenced by SCTPSendStream().

int32 SCTPSendStream::ssn [protected]

Definition at line 40 of file SCTPSendStream.h.

uint16 SCTPSendStream::streamId [protected]

Definition at line 36 of file SCTPSendStream.h.

Referenced by SCTPSendStream().

cQueue* SCTPSendStream::streamQ [protected]

Definition at line 38 of file SCTPSendStream.h.

Referenced by deleteQueue(), and SCTPSendStream().

cQueue* SCTPSendStream::uStreamQ [protected]

Definition at line 39 of file SCTPSendStream.h.

Referenced by deleteQueue(), and SCTPSendStream().


The documentation for this class was generated from the following files: