snmp 0.6.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. data/README +17 -10
  2. data/Rakefile +1 -1
  3. data/lib/snmp/varbind.rb +18 -0
  4. data/test/test_varbind.rb +20 -1
  5. metadata +2 -2
data/README CHANGED
@@ -9,13 +9,13 @@ that Ruby can run.
9
9
 
10
10
  See snmplib.rubyforge.org[http://snmplib.rubyforge.org/] for more info.
11
11
 
12
- Version 0.6.0 of this software supports the following:
12
+ Version 1.0.0 of this software supports the following:
13
13
 
14
14
  * The GetRequest, GetNextRequest, GetBulkRequest, SetRequest, Response
15
15
  SNMPv1_Trap, SNMPv2_Trap, and Inform PDUs
16
16
  * All of the ASN.1 data types defined by SNMPv1 and SNMPv2c
17
17
  * Sending informs and v1 and v2 traps
18
- * Trap handling for v1 and v2 traps
18
+ * Trap handling for informs and v1 and v2 traps
19
19
  * Symbolic OID values (ie. "ifTable" instead of "1.3.6.1.2.1.2.2") as
20
20
  parameters to the SNMP.Manager API
21
21
  * Includes symbol data files for all current IETF MIBs
@@ -25,11 +25,18 @@ examples below for more details.
25
25
 
26
26
  == Changes
27
27
 
28
- Changes for version 0.6.1:
29
-
30
- * Made decoding of unsigned integers more liberal, so that they are interpreted as positive integers even if the high bit is set.
31
- * Added support for receiving InformRequest PDUs from the TrapListener class.
32
-
28
+ Changes for version 1.0.0:
29
+
30
+ * Added to_s method to TimeTicks. Displays time in human-readable form
31
+ instead of just a number. The to_i method can still be used to get the
32
+ number of ticks.
33
+
34
+ Changes for version 0.6.1:
35
+
36
+ * Made decoding of unsigned integers more liberal, so that they are
37
+ interpreted as positive integers even if the high bit is set.
38
+ * Added support for receiving InformRequest PDUs from the TrapListener class.
39
+
33
40
  Changes for version 0.6.0:
34
41
 
35
42
  * Added support for sending informs and traps for SNMPv2c and traps for
@@ -102,19 +109,19 @@ formats.
102
109
  From the .gem file you can install using
103
110
  RubyGems[http://rubyforge.org/projects/rubygems].
104
111
 
105
- gem install snmp-0.6.0.gem
112
+ gem install snmp-1.0.0.gem
106
113
 
107
114
  From the .tgz or .zip file you can install using
108
115
  setup.rb[http://i.loveruby.net/en/prog/setup.html]. Uncompress the archive
109
116
  and then run setup.
110
117
 
111
- cd snmp-0.6.0
118
+ cd snmp-1.0.0
112
119
  ruby setup.rb (may require root privilege)
113
120
 
114
121
  == Testing
115
122
 
116
123
  This library has received limited testing:
117
- * The unit tests have been executed with Ruby 1.8.3 on Mac OS X 10.4.
124
+ * The unit tests have been executed with Ruby 1.8.4 on Mac OS X 10.4.
118
125
  * Basic interoperability testing has been done with the
119
126
  net-snmp[http://www.net-snmp.org/] tools.
120
127
 
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ Rake::TestTask.new do |test|
9
9
  end
10
10
 
11
11
  # package target
12
- PKG_VERSION = '0.6.1'
12
+ PKG_VERSION = '1.0.0'
13
13
  PKG_FILES = FileList[
14
14
  'Rakefile',
15
15
  'README',
data/lib/snmp/varbind.rb CHANGED
@@ -355,6 +355,24 @@ class TimeTicks < UnsignedInteger
355
355
  def encode
356
356
  encode_tagged_integer(TimeTicks_TAG, @value)
357
357
  end
358
+
359
+ def to_s
360
+ days, remainder = @value.divmod(8640000)
361
+ hours, remainder = remainder.divmod(360000)
362
+ minutes, remainder = remainder.divmod(6000)
363
+ seconds, hundredths = remainder.divmod(100)
364
+ case
365
+ when days < 1
366
+ sprintf('%02d:%02d:%02d.%02d',
367
+ hours, minutes, seconds, hundredths)
368
+ when days == 1
369
+ sprintf('1 day, %02d:%02d:%02d.%02d',
370
+ hours, minutes, seconds, hundredths)
371
+ when days > 1
372
+ sprintf('%d days, %02d:%02d:%02d.%02d',
373
+ days, hours, minutes, seconds, hundredths)
374
+ end
375
+ end
358
376
  end
359
377
 
360
378
  class Opaque < OctetString
data/test/test_varbind.rb CHANGED
@@ -319,5 +319,24 @@ class TestVarBind < Test::Unit::TestCase
319
319
  assert_equal(type.asn1_type, type.to_s)
320
320
  end
321
321
  end
322
-
322
+
323
+ def test_timeticks
324
+ assert_equal("00:00:00.00", TimeTicks.new(0).to_s)
325
+ assert_equal("00:00:00.01", TimeTicks.new(1).to_s)
326
+ assert_equal("00:00:01.00", TimeTicks.new(100).to_s)
327
+ assert_equal("00:01:00.00", TimeTicks.new(60 * 100).to_s)
328
+ assert_equal("01:00:00.00", TimeTicks.new(60 * 60 * 100).to_s)
329
+ assert_equal("23:59:59.99", TimeTicks.new(24 * 60 * 60 * 100 - 1).to_s)
330
+ assert_equal("1 day, 00:00:00.00", TimeTicks.new(24 * 60 * 60 * 100).to_s)
331
+ assert_equal("1 day, 23:59:59.99", TimeTicks.new(48 * 60 * 60 * 100 - 1).to_s)
332
+ assert_equal("2 days, 00:00:00.00", TimeTicks.new(48 * 60 * 60 * 100).to_s)
333
+ assert_equal("497 days, 02:27:52.95", TimeTicks.new(4294967295).to_s)
334
+ assert_equal(4294967295, TimeTicks.new(4294967295).to_i)
335
+ assert_raise(ArgumentError) {
336
+ TimeTicks.new(4294967296)
337
+ }
338
+ assert_raise(ArgumentError) {
339
+ TimeTicks.new(-1)
340
+ }
341
+ end
323
342
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: snmp
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.6.1
7
- date: 2006-02-15 00:00:00 -05:00
6
+ version: 1.0.0
7
+ date: 2006-03-02 00:00:00 -05:00
8
8
  summary: A Ruby implementation of SNMP (the Simple Network Management Protocol).
9
9
  require_paths:
10
10
  - lib