[AGENT++] SNMP++.NET

Marek Malowidzki malowidz at wil.waw.pl
Mon Jan 19 14:05:03 CET 2004


----- Original Message -----
From: "Frank Fock" <fock at agentpp.com>
To: "Marek Malowidzki" <malowidz at wil.waw.pl>
Cc: <agentpp at agentpp.org>
Sent: Friday, January 16, 2004 11:14 PM
Subject: Re: [AGENT++] SNMP++.NET


> Hi Marek,
>
> I would like, of course, take a look at your implementation. Do you plan
> to place the code on your web site once you have released it?

Yes, of course, it will be made public. The current implementation is
available at

http://republika.pl/maom_onet/snmpppdotnet/

The following files are present:

MConversion.cpp
MConversion.h
MTypes.h
MLock.h
auto_array_ptr.h

These are various helper files, mainly for memory management and types
conversion.

MSnmpComp.cpp

This is the main component code. Please have a look at the info in the
header (just after the copyrights). In this note, I am trying to explain the
most important decisions concerning the current implementation.

MSnmpCompExample.cs
MSnmpManager.cs

The first file is a simple example that shows the "look & feel" of the
implementation. The "manager" file is a command line utility that allows to
issue get/next/bulk/walk operations. This is, in fact, rewritten snmpSet
example from your distribution.

The component has been checked and it seems to work - we are able to use all
kinds of operations, including SNMPv3. However, I admit that the
implementation lacks thorough tests against every piece of code. I do not
expect anyone to do beta testing - I would just like to discuss the design
(the API), and we will perform the tests when it becomes stable. That said,
I think that most of the code is just thin wrapping around SNMP++ and our
results are encouraging - we have performed some stress tests (with the -n
option set to a large value and locally running agent that allows to
perform, on my slow PC, about 100 SNMP calls/second) and we did not notice
any memory problems; from time to time, the memory usage descreases, as the
system monitor shows. Looks like garbage collecting works sufficiently well
also for the unmanaged memory (that is, the unmanaged memory is reclaimed
when finalizers are invoked on managed objects being collected).

Best regards,

Marek




More information about the AGENTPP mailing list