ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Net-SNMP-XS/XS.pm
(Generate patch)

Comparing Net-SNMP-XS/XS.pm (file contents):
Revision 1.3 by root, Wed Apr 8 13:54:42 2009 UTC vs.
Revision 1.7 by root, Sat Apr 11 04:22:49 2009 UTC

13This module tries to speed up Net::SNMP response packet decoding. 13This module tries to speed up Net::SNMP response packet decoding.
14 14
15It does this by overriding a few selected internal method by (almost) 15It does this by overriding a few selected internal method by (almost)
16equivalent XS methods. 16equivalent XS methods.
17 17
18This currently reduces decode time by a factor of four for typical bulk 18This currently reduces decode time by a factor of ten for typical bulk
19responses. 19responses.
20 20
21There are currently the following limitations when using this module: 21There are currently the following limitations when using this module:
22 22
23=over 4 23=over 4
24 24
25=item leading dots are required for iods 25=item overriding internal functions might cause the module to
26malfunction with future versions of Net::SNMP
26 27
27=item error handling is currently broken (but parse errors will be detected) 28=item only leading dots for oids are supported
28 29
29=item error messages will be simpler/different 30=item error messages will be simpler/different
30 31
31=item oid components are limited to unsigned 32 bit integers 32=item oid components are limited to unsigned 32 bit integers
32 33
33=item translation will be ignored (all values will be delivered "raw") 34=item translation will be ignored (all values will be delivered "raw")
34 35
35=item a 64 bit perl is required
36
37=item a moderately modern (>= C99) C compiler is required 36=item a moderately modern (>= C99) C compiler is required
38 37
39=item only tested with 5.10 38=item only tested with 5.10, no intentions to port to older perls
39
40=item duplicate OIDs are not supported
41
42=item REPORT PDUs are not supported
40 43
41=back 44=back
42 45
43=cut 46=cut
44 47
55 58
56our $VERSION; 59our $VERSION;
57our $old_prepare; 60our $old_prepare;
58 61
59BEGIN { 62BEGIN {
60 $VERSION = '0.01'; 63 $VERSION = '0.02';
61 64
62 $old_prepare = \&Net::SNMP::MessageProcessing::prepare_data_elements; 65 $old_prepare = \&Net::SNMP::MessageProcessing::prepare_data_elements;
63 66
64 # this overrides many methods inside 67 # this overrides many methods inside
65 require XSLoader; 68 require XSLoader;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines