Class: Net::SnmpPdu

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

Defined Under Namespace

Classes: Error

Constant Summary collapse

PduTypes =
[
    :get_request,
    :get_next_request,
    :get_response,
    :set_request,
    :trap
]
ErrorStatusCodes =

Per RFC1157, pgh 4.1.1

{ # Per RFC1157, pgh 4.1.1
    0 => "noError",
    1 => "tooBig",
    2 => "noSuchName",
    3 => "badValue",
    4 => "readOnly",
    5 => "genErr"
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ SnmpPdu

Returns a new instance of SnmpPdu.



127
128
129
130
131
132
133
134
# File 'lib/net/snmp.rb', line 127

def initialize args={}
    @version = args[:version] || 0
    @community = args[:community] || "public"
    @pdu_type = args[:pdu_type] # leave nil unless specified; there's no reasonable default value.
    @error_status = args[:error_status] || 0
    @error_index = args[:error_index] || 0
    @variables = args[:variables] || []
end

Instance Attribute Details

#communityObject

Returns the value of attribute community.



123
124
125
# File 'lib/net/snmp.rb', line 123

def community
  @community
end

#error_indexObject

Returns the value of attribute error_index.



124
125
126
# File 'lib/net/snmp.rb', line 124

def error_index
  @error_index
end

#error_statusObject

Returns the value of attribute error_status.



123
124
125
# File 'lib/net/snmp.rb', line 123

def error_status
  @error_status
end

#pdu_typeObject

Returns the value of attribute pdu_type.



123
124
125
# File 'lib/net/snmp.rb', line 123

def pdu_type
  @pdu_type
end

#request_idObject

Returns the value of attribute request_id.



124
125
126
# File 'lib/net/snmp.rb', line 124

def request_id
  @request_id
end

#variablesObject (readonly)

Returns the value of attribute variables.



123
124
125
# File 'lib/net/snmp.rb', line 123

def variables
  @variables
end

#versionObject

Returns the value of attribute version.



123
124
125
# File 'lib/net/snmp.rb', line 123

def version
  @version
end

Class Method Details

.parse(ber_object) ⇒ Object



116
117
118
119
120
# File 'lib/net/snmp.rb', line 116

def parse ber_object
		n = new
		n.send :parse, ber_object
		n
end

Instance Method Details

#add_variable_binding(name, value = nil) ⇒ Object

– Syntactic sugar



238
239
240
241
# File 'lib/net/snmp.rb', line 238

def add_variable_binding name, value=nil
    @variables ||= []
    @variables << [name, value]
end

#to_ber_stringObject



243
244
245
246
247
248
249
# File 'lib/net/snmp.rb', line 243

def to_ber_string
    [
	version.to_ber,
	community.to_ber,
	pdu_to_ber_string
    ].to_ber_sequence
end