Spent much of the day staring at PySNMP code looking for something (anything!) that would make it faster without necessitating a bulk rewrite in C. Then gave in and started looking at what would be necessary to use net-snmp as an encoder/decoder for TwistedSNMP.
A few hours of tracking down and copying the various structures and constants and I've started wondering about the wisdom of using ctypes (which was my chosen path this afternoon) for interfacing with such a large library. With libraries where you only want to make a few calls, it's fine, but from what I can see I'm going to have to wrap quite a few structs, make all sorts of guesses about the appopriate data format translations, and wrap quite a large number of functions to get something that can do the same encoding/decoding jobs as PySNMP.
Haven't looked at the yapsnmp SWIG code yet, because I'm finding net-snmp... well... not much less complex looking than PySNMP (though that might just be an effect of being in C, which is always ridiculously verbose).
Which dumps me back to not being of much help to Tim in his quest for a simpler and faster SNMP query engine. It's also of no great help in making Cinemon faster. So there's a day gone and no appreciable movement forward. Probably should give the ctypes approach a little more time... sigh. C spelunking is so not fun when it has nothing to do with graphics.
Pingbacks are closed.