Class: Net::SNMP::Message

Inherits:
Object
  • Object
show all
Includes:
Debug
Defined in:
lib/net/snmp/message.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Debug

#debug, #error, #fatal, #info, #print_packet, #time, #warn

Instance Attribute Details

#communityObject

Returns the value of attribute community.



21
22
23
# File 'lib/net/snmp/message.rb', line 21

def community
  @community
end

#community_ptrObject

Returns the value of attribute community_ptr.



21
22
23
# File 'lib/net/snmp/message.rb', line 21

def community_ptr
  @community_ptr
end

#pduObject

Returns the value of attribute pdu.



21
22
23
# File 'lib/net/snmp/message.rb', line 21

def pdu
  @pdu
end

#versionObject

Returns the value of attribute version.



21
22
23
# File 'lib/net/snmp/message.rb', line 21

def version
  @version
end

#version_ptrObject

Returns the value of attribute version_ptr.



21
22
23
# File 'lib/net/snmp/message.rb', line 21

def version_ptr
  @version_ptr
end

Class Method Details

.parse(packet) ⇒ Object



6
7
8
# File 'lib/net/snmp/message.rb', line 6

def self.parse(packet)
  Message.new(packet)
end

.response_pdu_for(message) ⇒ Object

Could have been an instance method, but a response pdu isn’t really an intrinsic property of all messages. So, going with class method instead.



13
14
15
16
17
18
19
# File 'lib/net/snmp/message.rb', line 13

def self.response_pdu_for(message)
  response_pdu = PDU.new(Constants::SNMP_MSG_RESPONSE)
  response_pdu.reqid = message.pdu.reqid
  response_pdu.version = message.version
  response_pdu.community = message.pdu.community
  response_pdu
end

Instance Method Details

#version_nameObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/net/snmp/message.rb', line 23

def version_name
  case @version
  when Constants::SNMP_VERSION_1
    '1'
  when Constants::SNMP_VERSION_2c
    '2c'
  when Constants::SNMP_VERSION_3
    '3'
  else
    raise "Invalid SNMP version: #{@version}"
  end
end