Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

MCPdu Class Reference

Representation of an SNMP PDU. More...

#include <mcllib/snmp/MCPdu.h>

Inheritance diagram for MCPdu:

MCBase List of all members.

Public Types

typedef IMPLTYPE const_iterator
 Const iterators only - can't change it once created.
typedef const MCVBIMPLTYPE
 Element type.
typedef unsigned long size_t
 Size type.

Public Member Functions

void append (const MCPdu &mcp)
 Append a pdu to end of this pdu.
const MCVBback () const
 Get the vb at the end of the pdu.
const_iterator begin () const
 Iterator to beginning of vb array.
void clear ()
 clear the contents of the pdu
MCPdu clone () const
 clone the pdu - get a thread safe copy
const_iterator end () const
 Iterator to end of vb array.
unsigned long getCount () const
 debug for getting ref count
size_t getValid () const
 Get the number of valid VBs in the PDU.
size_t length () const
 Get the length (total number of VBs in the PDU).
 MCPdu (IMPLTYPE pStr, size_t length)
 PDU from a vb pointer (array of vbs) and a length.
 MCPdu ()
 Empty pdu.
 operator IMPLTYPE ()
 Get the vb array.
const MCVBoperator[] (size_t index) const
 Get a specific element out of the pdu - note const only.
void push_back (const MCVB &vb)
 Add a vb to end of pdu.
void reserve (size_t extent)
 reserve extent elements for vbs.
 ~MCPdu ()
 Destroy pdu.

Detailed Description

Representation of an SNMP PDU.

A PDU is a list of variable bindings (VB's). Note copying the PDU is in-expensive (it uses reference counting). However, if you want a thread-safe copy of a pdu, use the clone method instead. Internal logic within the snmp library clone()s a pdu before modifying it. Note that push_back() grows the pdu as necessary, but it is more efficient to reserve() the amount of space required for VB's before-hand if you know how much is needed. For complete safety only push_back() onto a pdu that you have clone()d.

Member Function Documentation

void reserve size_t  extent  ) 

reserve extent elements for vbs.

Do nothing if already bigger

Generated on Wed Jan 12 19:05:51 2005 for MCLLIB by  doxygen