OPAL  Version 3.10.10
IAX2FrameList Class Reference

#include <frame.h>

Inheritance diagram for IAX2FrameList:
IAX2Frame IAX2ActiveFrameList

Public Member Functions

 ~IAX2FrameList ()
 
void ReportList (PString &answer)
 
IAX2FrameGetLastFrame ()
 
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 ()
 
IAX2RemoteGetRemoteInfo ()
 
const BYTE * GetDataPointer ()
 
IAX2FrameBuildAppropriateFrameType (IAX2Encryption &encryptionInfo)
 
IAX2FrameBuildAppropriateFrameType ()
 
PINDEX GetUnReadBytes ()
 
virtual PBoolean WriteHeader ()
 
virtual PBoolean TransmitPacket (PUDPSocket &sock)
 
virtual void PrintOn (ostream &strm) const
 
virtual void BuildTimeStamp (const PTimeInterval &callStartTick)
 
IAX2EndPointGetEndpoint ()
 
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
 
IAX2EndPointendpoint
 
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::~IAX2FrameList ( )

Member Function Documentation

◆ AddNewFrame()

void IAX2FrameList::AddNewFrame ( IAX2Frame src)

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

◆ DeleteMatchingSendFrame()

void IAX2FrameList::DeleteMatchingSendFrame ( IAX2FullFrame reply)

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

◆ Empty()

PBoolean IAX2FrameList::Empty ( )
inline

True if this frame list is empty

◆ GetEntries()

virtual PINDEX IAX2FrameList::GetEntries ( )
inlineprotectedvirtual

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

◆ GetLastFrame()

IAX2Frame* IAX2FrameList::GetLastFrame ( )

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

◆ GetResendFramesDeleteOldFrames()

void IAX2FrameList::GetResendFramesDeleteOldFrames ( IAX2FrameList framesToSend)

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

◆ GetSize()

virtual PINDEX IAX2FrameList::GetSize ( )
inlinevirtual

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

Referenced by IAX2Receiver::GetSize().

◆ GrabContents()

void IAX2FrameList::GrabContents ( IAX2FrameList src)

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

◆ Initialise()

void IAX2FrameList::Initialise ( )

Removing item from list will not automatically delete it

◆ MarkAllAsResent()

void IAX2FrameList::MarkAllAsResent ( )

Mark every frame on this list as having been resent

◆ ReportList()

void IAX2FrameList::ReportList ( PString &  answer)

Report the frames queued in this list

◆ SendVnakRequestedFrames()

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

◆ mutex

PMutex IAX2FrameList::mutex
protected

Local variable which protects access.


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