Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XFcObjectDataQueue Class Reference

XFcObjectDataQueue holds prioritized packets. More...

Collaboration diagram for XFcObjectDataQueue:

Collaboration graph
[legend]
List of all members.

Public Member Functions

XFcObjectDataFramegetPacketFrame (INT aSlot)
 Gets packet frame.

XFcObjectDataFramegetRecentStateFrame (INT32 aRecentId)
 Gets packet frame.

void reorderFrames ()
 Reorders frames, will reorder packet to priority order and moves empty frames to empty list.

void removeRecentStateFrame (INT32 aRecentId)
 Removes recent state frame.

void createUnsentMultiPacket (XFcObjectDataPacket *aPacket, INT32 aSeqNum, INT aStyle)
 Packs data and sets it as send.

void createUnsentOnePacket (XFcObjectDataPacket *aPacket, INT32 aSeqNum, INT aStyle)
 Gets first unsent alone going packet and set it's as send.

void createUnsentAutoPacket (XFcObjectDataPacket *aPacket, INT32 aSeqNum, INT aStyle)
 Packs data and sets it as send.

void resetQueue (INT32 aStatus)
 Resets queue, this does not delete packets. Sets given seqnum packets as unsend.

void reset ()
 Resets queue, this does not delete packets. Sets all packets as unsend.

void deleteQueue ()
 Deletes queue.

void deleteNonGuaranteedSent ()
 Deletes sent non guaranteed packets.

void removeSeqNum (INT32 aSeqNum)
 Removes packets by seqnum.

void removeByIndex (INT32 aIndex)
 Removes packet by index.

INT32 getFirstIndex (INT32 aSeqNum)
 Returns first index of given seqnum.

INT32 getFirstNonguaranteedIndex ()
 Return first index of given seqnum.

INT32 isFull ()
 Is queue full.

INT32 isEmpty ()
 Is queue empty.

void setQueueSize (UINT32 aQueueSize)
 Sets queue size.

void updatePriority ()
 Updates send priority.

virtual ~XFcObjectDataQueue ()
 Virtual destructor.


Static Public Member Functions

XFcObjectDataQueue * create (INT32 aMaxSize, INT aBufferSize)
 Static constructor.


Protected Member Functions

INT32 init (INT32 aMaxSize, INT aBufferSize)
 Initializes list.

INT32 addPacket (XFcObjectDataFrame *aPacket)
 Adds new packet to list.

INT32 getIndexOfLockedFrame (XFcLinkedList< XFcObjectDataFrame * > *aList)
 Gets locked frame.

INT32 getIndexOfUnlockedFrame (XFcLinkedList< XFcObjectDataFrame * > *aList)
 Gets unlocked frame.

INT32 getIndexOfNegativeBufferSize (XFcLinkedList< XFcObjectDataFrame * > *aList)
 Gets index of negative buffer size.

XFcObjectDataFramegetFrameByIndex (XFcLinkedList< XFcObjectDataFrame * > *aList, INT32 aIndex)
 Gets frame.

 XFcObjectDataQueue ()
 Protected constructor.


Protected Attributes

XFcObjectDataPriorityHelp mHelp
 Holds lists of data send/sendable packets.

XFcPriorityList< XFcObjectDataFrame * > mObjectUnlockedData
XFcLinkedList< XFcObjectDataFrame * > mObjectLockedData
 Holds list of unlocked packet frames.


Private Attributes

INT32 mRecentStateHandle
 Holds recent state handle.

UINT32 mMaxSize
 Holds queue max size.

INT mBufferSize
 Holds buffer size.

INT mReset
 Holds reset flag.


Detailed Description

XFcObjectDataQueue holds prioritized packets.

It holds list of locked and unlocked packet frames. If packet frame is locked list does not add it to sendable packet frame. If packet is unlocked and contains data it can be added to sendable packet frame. Its purpose is to keep added packet frames on prioritized order and update order if wanted. XFcObjectDataQueue owns all the data added to it, delete of queue will remove all XFcObjectDataFrame allocated. XFcObjectDataFrame allocation is made with given granularity. After send of packet frame queue does not delete packet, it marks frame free for later use.


Constructor & Destructor Documentation

XFcObjectDataQueue::XFcObjectDataQueue   [protected]
 

Protected constructor.

virtual XFcObjectDataQueue::~XFcObjectDataQueue   [virtual]
 

Virtual destructor.


Member Function Documentation

INT32 XFcObjectDataQueue::addPacket XFcObjectDataFrame   aPacket [protected]
 

Adds new packet to list.

XFcObjectDataQueue* XFcObjectDataQueue::create INT32    aMaxSize,
INT    aBufferSize
[static]
 

Static constructor.

Parameters:
aMaxSize max queue size.
aBufferSize max buffer size.
Returns:
new object if successful, or NULL if unsuccessful.

void XFcObjectDataQueue::createUnsentAutoPacket XFcObjectDataPacket   aPacket,
INT32    aSeqNum,
INT    aStyle
 

Packs data and sets it as send.

Parameters:
aPacket object data packet.
aSeqNum sequence number.

void XFcObjectDataQueue::createUnsentMultiPacket XFcObjectDataPacket   aPacket,
INT32    aSeqNum,
INT    aStyle
 

Packs data and sets it as send.

Parameters:
aPacket object data packet.
aSeqNum sequence number.

void XFcObjectDataQueue::createUnsentOnePacket XFcObjectDataPacket   aPacket,
INT32    aSeqNum,
INT    aStyle
 

Gets first unsent alone going packet and set it's as send.

Parameters:
aPacket object data packet.
aSeqNum sequence number.

void XFcObjectDataQueue::deleteNonGuaranteedSent  
 

Deletes sent non guaranteed packets.

void XFcObjectDataQueue::deleteQueue  
 

Deletes queue.

INT32 XFcObjectDataQueue::getFirstIndex INT32    aSeqNum
 

Returns first index of given seqnum.

Parameters:
aSeqNum sequency number.
Returns:
list index.

INT32 XFcObjectDataQueue::getFirstNonguaranteedIndex  
 

Return first index of given seqnum.

Returns:
list index.

XFcObjectDataFrame* XFcObjectDataQueue::getFrameByIndex XFcLinkedList< XFcObjectDataFrame * > *    aList,
INT32    aIndex
[protected]
 

Gets frame.

INT32 XFcObjectDataQueue::getIndexOfLockedFrame XFcLinkedList< XFcObjectDataFrame * > *    aList [protected]
 

Gets locked frame.

INT32 XFcObjectDataQueue::getIndexOfNegativeBufferSize XFcLinkedList< XFcObjectDataFrame * > *    aList [protected]
 

Gets index of negative buffer size.

INT32 XFcObjectDataQueue::getIndexOfUnlockedFrame XFcLinkedList< XFcObjectDataFrame * > *    aList [protected]
 

Gets unlocked frame.

XFcObjectDataFrame* XFcObjectDataQueue::getPacketFrame INT    aSlot
 

Gets packet frame.

Parameters:
aSlot message identifier (RECENTSTATE ...).
Returns:
packet frame class.

XFcObjectDataFrame* XFcObjectDataQueue::getRecentStateFrame INT32    aRecentId
 

Gets packet frame.

Parameters:
aRecentId message identifier (RECENTSTATE ...).
Returns:
packet frame class.

INT32 XFcObjectDataQueue::init INT32    aMaxSize,
INT    aBufferSize
[protected]
 

Initializes list.

INT32 XFcObjectDataQueue::isEmpty  
 

Is queue empty.

Returns:
1 if queue is empty, or 0 if not.

INT32 XFcObjectDataQueue::isFull  
 

Is queue full.

Returns:
1 if queue is full, or 0 if not.

void XFcObjectDataQueue::removeByIndex INT32    aIndex
 

Removes packet by index.

Parameters:
aIndex list index.

void XFcObjectDataQueue::removeRecentStateFrame INT32    aRecentId
 

Removes recent state frame.

Parameters:
aRecentId recent state id.

void XFcObjectDataQueue::removeSeqNum INT32    aSeqNum
 

Removes packets by seqnum.

Parameters:
aSeqNum sequence number.

void XFcObjectDataQueue::reorderFrames  
 

Reorders frames, will reorder packet to priority order and moves empty frames to empty list.

void XFcObjectDataQueue::reset  
 

Resets queue, this does not delete packets. Sets all packets as unsend.

void XFcObjectDataQueue::resetQueue INT32    aStatus
 

Resets queue, this does not delete packets. Sets given seqnum packets as unsend.

void XFcObjectDataQueue::setQueueSize UINT32    aQueueSize
 

Sets queue size.

Parameters:
aQueueSize queue size.

void XFcObjectDataQueue::updatePriority  
 

Updates send priority.


Member Data Documentation

INT XFcObjectDataQueue::mBufferSize [private]
 

Holds buffer size.

XFcObjectDataPriorityHelp XFcObjectDataQueue::mHelp [protected]
 

Holds lists of data send/sendable packets.

UINT32 XFcObjectDataQueue::mMaxSize [private]
 

Holds queue max size.

XFcLinkedList<XFcObjectDataFrame *> XFcObjectDataQueue::mObjectLockedData [protected]
 

Holds list of unlocked packet frames.

XFcPriorityList<XFcObjectDataFrame *> XFcObjectDataQueue::mObjectUnlockedData [protected]
 

INT32 XFcObjectDataQueue::mRecentStateHandle [private]
 

Holds recent state handle.

INT XFcObjectDataQueue::mReset [private]
 

Holds reset flag.


   
X-Forge Documentation
Confidential
Copyright © 2002-2003 Fathammer
   
Documentation generated
with doxygen
by Dimitri van Heesch