OPAL
Version 3.10.10
|
#include <frame.h>
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 () |
![]() | |
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 () |
![]() | |
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 |
![]() | |
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 | |
![]() | |
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 DWORD | CalcTimeStamp (const PTimeInterval &callStartTick) |
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.
IAX2FrameList::~IAX2FrameList | ( | ) |
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.
|
inline |
True if this frame list is empty
References GetSize().
|
inlineprotectedvirtual |
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
|
inlinevirtual |
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
|
protected |
Local variable which protects access.
Referenced by GetSize().