Afternoon Everyone,

Looking for some advice regarding the most efficient way to read
multiple OIDs (upwards of 200) from a single device. Currently, I
have some code which calls snmp_sess_synch_response once for each OID
that I want to read. Each call takes 0.01 s, leading to an overall
time of over 2 seconds, which is a tad slow.

I was wondering, is there a way to chain a number of OID PDUs together
and only call snmp_sess_synch_response once per device? And if there
was, would that be any quicker?

Or does anyone have any better suggestions as to how I would do this?

My code snippet:

struct snmp_pdu *pduRead, *pduResponse;
pduRead = snmp_pdu_create(SNMP_MSG_GET);
if(pduRead)
{
if(snmp_parse_oid((LPCTSTR)m_csOID, m_oOID, &m_iOIDLen))
{
//
// Add our OID to the PDU we are about to send.
//
snmp_add_null_var(pduRead, m_oOID, m_iOIDLen);
iReadStatus = snmp_sess_synch_response(pvSession, pduRead,
&pduResponse);
snmp_free_pdu(pduResponse);
}
}

Any suggestions/comments/criticisms most welcome :-)

Thanks,
Al.