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.9 by root, Sun Apr 12 00:48:39 2009 UTC vs.
Revision 1.17 by root, Fri Dec 21 11:22:37 2018 UTC

41 41
42=cut 42=cut
43 43
44package Net::SNMP::XS; 44package Net::SNMP::XS;
45 45
46use strict qw(vars subs); 46use common::sense;
47no warnings;
48
49use Guard;
50 47
51use Net::SNMP (); 48use Net::SNMP ();
52use Net::SNMP::PDU (); 49use Net::SNMP::PDU ();
53use Net::SNMP::Message (); 50use Net::SNMP::Message ();
54use Net::SNMP::MessageProcessing (); 51use Net::SNMP::MessageProcessing ();
55 52
56our $VERSION; 53our $VERSION;
57our $old_prepare;
58 54
59BEGIN { 55BEGIN {
60 $VERSION = '0.03'; 56 $VERSION = 1.33;
61 57
62 $old_prepare = \&Net::SNMP::MessageProcessing::prepare_data_elements; 58 # this overrides many methods inside Net::SNMP and it's submodules
63
64 # this overrides many methods inside
65 require XSLoader; 59 require XSLoader;
66 XSLoader::load Net::SNMP::XS, $VERSION; 60 XSLoader::load Net::SNMP::XS, $VERSION;
67}
68
69sub Net::SNMP::MessageProcessing::prepare_data_elements {
70 my ($self, $msg) = @_;
71
72 set_msg $msg, $msg->{_buffer};
73 scope_guard \&clr_msg;
74 &$old_prepare
75} 61}
76 62
77package Net::SNMP::Message; 63package Net::SNMP::Message;
78 64
79Net::SNMP::XS::set_type INTEGER , \&_process_integer32; 65Net::SNMP::XS::set_type INTEGER , \&_process_integer32;
100Net::SNMP::XS::set_type SNMPV2_TRAP , \&_process_v2_trap; 86Net::SNMP::XS::set_type SNMPV2_TRAP , \&_process_v2_trap;
101Net::SNMP::XS::set_type REPORT , \&_process_report; 87Net::SNMP::XS::set_type REPORT , \&_process_report;
102 88
103package Net::SNMP::PDU; 89package Net::SNMP::PDU;
104 90
105# var_bind_list hardcodes oid_lext_sort. *sigh* 91# var_bind_list hardcodes oid_lex_sort. *sigh*
106# we copy it 1:1, except for using oid_lex_sort. 92# we copy it 1:1, except for using oid_lex_sort.
107 93
108sub var_bind_list 94sub var_bind_list
109{ 95{
110 my ($this, $vbl, $types) = @_; 96 my ($this, $vbl, $types) = @_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines