IAX2FrameList Class Reference

`#include <frame.h>`

Inheritance diagram for IAX2FrameList:

## Public Member Functions

| ~IAX2FrameList ()
void | ReportList (PString &answer)
IAX2Frame * | GetLastFrame ()
void | Initialise ()
PBoolean | Empty ()
void | GrabContents (IAX2FrameList &src)
void | DeleteMatchingSendFrame (IAX2FullFrame *reply)
void | SendVnakRequestedFrames (IAX2FullFrameProtocol &src)
void | AddNewFrame (IAX2Frame *src)
void | GetResendFramesDeleteOldFrames (IAX2FrameList &framesToSend)
virtual PINDEX | GetSize ()
void | MarkAllAsResent ()
Public Member Functions inherited from IAX2Frame
| IAX2Frame (IAX2EndPoint &_endpoint)
virtual | ~IAX2Frame ()
PBoolean | ReadNetworkPacket (PUDPSocket &sock)
virtual PBoolean | ProcessNetworkPacket ()
virtual PBoolean | IsFullFrame ()
PBoolean | IsVideo () const
PBoolean | IsAudio () const
virtual BYTE * | GetMediaDataPointer ()
virtual PINDEX | GetMediaDataSize ()
PINDEX | DataSize ()
IAX2Remote & | GetRemoteInfo ()
const BYTE * | GetDataPointer ()
IAX2Frame * | BuildAppropriateFrameType (IAX2Encryption &encryptionInfo)
IAX2Frame * | BuildAppropriateFrameType ()
PINDEX | GetUnReadBytes ()
virtual PBoolean | WriteHeader ()
virtual PBoolean | TransmitPacket (PUDPSocket &sock)
virtual void | PrintOn (ostream &strm) const
virtual void | BuildTimeStamp (const PTimeInterval &callStartTick)
IAX2EndPoint & | GetEndpoint ()
PString | IdString () const
DWORD | GetTimeStamp ()
void | SetTimeStamp (DWORD newValue)
virtual PBoolean | CallMustBeActive ()
IAX2FrameType | GetFrameType ()
virtual void | InitialiseHeader (IAX2Processor *)
PBoolean | CanRetransmitFrame () const
PString | GetConnectionToken () const
void | SetConnectionToken (PString newToken)
void | BuildConnectionToken ()
PBoolean | EncryptContents (IAX2Encryption &encData)
virtual PINDEX | GetEncryptionOffset ()

## Protected Member Functions

virtual PINDEX | GetEntries ()
Protected Member Functions inherited from IAX2Frame
PBoolean | DecryptContents (IAX2Encryption &encryption)
PBoolean | Read1Byte (BYTE &res)
PBoolean | Read2Bytes (PINDEX &res)
PBoolean | Read2Bytes (WORD &res)
PBoolean | Read4Bytes (DWORD &res)
void | Write1Byte (BYTE newVal)
void | Write1Byte (PINDEX newVal)
void | Write2Bytes (PINDEX newVal)
void | Write4Bytes (unsigned int newVal)
void | ZeroAllValues ()

## Protected Attributes

PMutex | mutex
Protected Attributes inherited from IAX2Frame
IAX2Remote | remote
IAX2FrameType | frameType
IAX2EndPoint & | endpoint
PBYTEArray | data
PBoolean | isFullFrame
PBoolean | isVideo
PBoolean | isAudio
PINDEX | currentReadIndex
PINDEX | currentWriteIndex
DWORD | timeStamp
PBoolean | canRetransmitFrame
PString | connectionToken
DWORD | presetTimeStamp

## Additional Inherited Members

Public Types inherited from IAX2Frame
enum | IAX2FrameType { undefType = 0, dtmfType = 1, voiceType = 2, videoType = 3, controlType = 4, nullType = 5, iax2ProtocolType = 6, textType = 7, imageType = 8, htmlType = 9, cngType = 10, numFrameTypes = 11 }
Static Public Member Functions inherited from IAX2Frame
static DWORD | CalcTimeStamp (const PTimeInterval &callStartTick)

## Detailed Description

A list of all frames waiting for processing

Note please, this class is thread safe.

You do not need to protect acces to this class.

## Constructor & Destructor Documentation

IAX2FrameList::~IAX2FrameList | ( |  | ) |

## Member Function Documentation

void IAX2FrameList::AddNewFrame | ( | IAX2Frame * | src | ) |

Add the frame (supplied as an argument) to the end of this list

void IAX2FrameList::DeleteMatchingSendFrame | ( | IAX2FullFrame * | reply | ) |

Delete the frame that has been sent, which is waiting for this reply. The reply is the argument.

PBoolean IAX2FrameList::Empty | ( |  | ) |

inline

True if this frame list is empty

References GetSize().

virtual PINDEX IAX2FrameList::GetEntries | ( |  | ) |

inline protected virtual

NON Thread safe read of the number of elements on this list.

IAX2Frame* IAX2FrameList::GetLastFrame | ( |  | ) |

Get pointer to last frame in the list. Remove this frame from the list

void IAX2FrameList::GetResendFramesDeleteOldFrames | ( | IAX2FrameList & | framesToSend | ) |

Get a list of frames to send, and delete the timed out frames

virtual PINDEX IAX2FrameList::GetSize | ( |  | ) |

inline virtual

Thread safe read of the number of elements on this list.

References mutex.

Referenced by Empty(), IAX2EndPoint::EthernetFramesToBeProcessed(), and IAX2Receiver::GetSize().

void IAX2FrameList::GrabContents | ( | IAX2FrameList & | src | ) |

Copy to this frame the contents of the frameList pointed to by src

void IAX2FrameList::Initialise | ( |  | ) |

Removing item from list will not automatically delete it

Referenced by IAX2ActiveFrameList::IAX2ActiveFrameList().

void IAX2FrameList::MarkAllAsResent | ( |  | ) |

Mark every frame on this list as having been resent

void IAX2FrameList::ReportList | ( | PString & | answer | ) |

Report the frames queued in this list

void IAX2FrameList::SendVnakRequestedFrames | ( | IAX2FullFrameProtocol & | src | ) |

A Vnak frame has been received (voice not acknowledged) which actually means, retransmit all those frames you have on this particular call number from the oseqno specified in the supplied frame

## Field Documentation

PMutex IAX2FrameList::mutex

protected

Local variable which protects access.

Referenced by GetSize().

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

- frame.h