Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6IPacket Interface Referenceabstract

#include <p6iobuffer.h>

Inherits P6R::p6ICom.

Public Member Functions

virtual P6INT32 addref (void)=0
 
virtual P6R::P6ERR append (const P6UINT8 *pBuffer, P6UINT32 cBuffer, const P6UINT32 nOffset, P6UINT32 *pUsed)=0
 
virtual P6R::P6ERR appendStr (const P6CHAR *pszString, const P6UINT32 nOffset, P6UINT32 *pUsed)=0
 
virtual P6R::P6ERR consume (P6UINT32 cSize)=0
 
virtual P6R::P6ERR copyData (p6IPacket *pSourcePacket, P6UINT32 nSourceOffset, P6UINT32 cSourceLength)=0
 
virtual P6R::P6ERR extract (P6UINT8 *pBuffer, P6UINT32 cBuffer, const P6UINT32 nOffset)=0
 
virtual P6R::P6ERR get16 (P6UINT16 *pVal, const P6UINT32 nOffset)=0
 
virtual P6R::P6ERR get32 (P6UINT32 *pVal, const P6UINT32 nOffset)=0
 
virtual P6R::P6ERR get64 (P6UINT64 *pVal, const P6UINT32 nOffset)=0
 
virtual P6R::P6ERR get8 (P6UINT8 *pVal, const P6UINT32 nOffset)=0
 
virtual P6R::P6ERR getDestAddr (P6NETADDR *pAddr)=0
 
virtual P6R::P6ERR getSourceAddr (P6NETADDR *pAddr)=0
 
virtual P6R::P6ERR getUsed (P6UINT32 *pcBytesInUse)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6INT32 release (void)=0
 
virtual P6R::P6ERR reset (void)=0
 
virtual P6R::P6ERR seek (P6UINT32 nOffset)=0
 
virtual P6R::P6ERR set16 (const P6UINT16 val, const P6UINT32 nOffset, P6UINT32 *pUsed)=0
 
virtual P6R::P6ERR set32 (const P6UINT32 val, const P6UINT32 nOffset, P6UINT32 *pUsed)=0
 
virtual P6R::P6ERR set64 (const P6UINT64 val, const P6UINT32 nOffset, P6UINT32 *pUsed)=0
 
virtual P6R::P6ERR set8 (const P6UINT8 val, const P6UINT32 nOffset, P6UINT32 *pUsed)=0
 
virtual P6R::P6ERR setDestAddr (P6NETADDR *pAddr)=0
 
virtual P6R::P6ERR setSourceAddr (P6NETADDR *pAddr)=0
 
virtual P6R::P6ERR setUsed (P6UINT32 cBytesInUse)=0
 
virtual P6R::P6ERR size (P6UINT32 *pcSize)=0
 

Detailed Description

A generic memory-pooled binary packet component.

Packets are not thread-safe.
They can be passe around between threads without protection as long as no two threads access the packet at the same time. This can easily be accomplished using an asynchronous queue (P6R::p6IQueue).

Definition at line 180 of file p6iobuffer.h.


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