pio 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rspec +1 -0
  4. data/lib/pio/arp/frame.rb +3 -3
  5. data/lib/pio/arp/message.rb +5 -4
  6. data/lib/pio/arp/reply.rb +0 -1
  7. data/lib/pio/arp/request.rb +2 -3
  8. data/lib/pio/ipv4_address.rb +149 -0
  9. data/lib/pio/lldp.rb +2 -2
  10. data/lib/pio/lldp/{chassis-id-tlv.rb → chassis_id_tlv.rb} +0 -0
  11. data/lib/pio/lldp/{end-of-lldpdu-value.rb → end_of_lldpdu_value.rb} +0 -0
  12. data/lib/pio/lldp/frame.rb +5 -5
  13. data/lib/pio/lldp/{management-address-value.rb → management_address_value.rb} +0 -0
  14. data/lib/pio/lldp/{optional-tlv.rb → optional_tlv.rb} +7 -7
  15. data/lib/pio/lldp/{organizationally-specific-value.rb → organizationally_specific_value.rb} +0 -0
  16. data/lib/pio/lldp/{port-description-value.rb → port_description_value.rb} +0 -0
  17. data/lib/pio/lldp/{port-id-tlv.rb → port_id_tlv.rb} +0 -0
  18. data/lib/pio/lldp/{system-capabilities-value.rb → system_capabilities_value.rb} +0 -0
  19. data/lib/pio/lldp/{system-description-value.rb → system_description_value.rb} +0 -0
  20. data/lib/pio/lldp/{system-name-value.rb → system_name_value.rb} +0 -0
  21. data/lib/pio/lldp/{ttl-tlv.rb → ttl_tlv.rb} +0 -0
  22. data/lib/pio/mac.rb +4 -4
  23. data/lib/pio/type/{ethernet-header.rb → ethernet_header.rb} +1 -1
  24. data/lib/pio/type/{ip-address.rb → ip_address.rb} +2 -1
  25. data/lib/pio/type/{mac-address.rb → mac_address.rb} +0 -0
  26. data/lib/pio/version.rb +1 -1
  27. data/pio.org +69 -445
  28. data/pio.org_archive +451 -0
  29. data/spec/pio/arp/reply_spec.rb +4 -5
  30. data/spec/pio/arp/request_spec.rb +5 -6
  31. data/spec/pio/arp_spec.rb +0 -1
  32. data/spec/pio/ipv4_address_spec.rb +99 -0
  33. data/spec/pio/lldp_spec.rb +0 -1
  34. data/spec/pio/mac_spec.rb +3 -4
  35. metadata +19 -19
  36. data/lib/pio/ip.rb +0 -90
  37. data/spec/pio/ip_spec.rb +0 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a99eb3c57f09bc9a82c53d916636509695770620
4
- data.tar.gz: 5da352b9a4cbe2660ce0fc71e086f15c697f52b2
3
+ metadata.gz: ffde8b15ff26955c6cb9bb0351d5dccd1eae1c00
4
+ data.tar.gz: 5bdb5cf6cba9138b660b72f856058cca8b813a45
5
5
  SHA512:
6
- metadata.gz: 50e299558aea50ece6f430e007b428b9b5cc53439883043aca7128fe67ed3d08c50ec2e8ffac4f5d115735e77eb09289d25a249ee22f812edfbca2f91289aacc
7
- data.tar.gz: b01bab2207f6556d2ca45ff72281c1475195511767d64b6b4847100961ada881b3406aeee2cd068d6998881f08d07dc026ca6c991a594a87d84aa2e722dd419e
6
+ metadata.gz: 13f6c6425349b174caf3b3b0d9b799bd94d115a7f099d53ae026da3541af39c5e5f2d6168ff27a1dc1eda99e140207f42f5d3ba67a137c30af49f06098b8fe93
7
+ data.tar.gz: b63d0743cec0bf45b016c963b74d95105858383e8b01601915df9eeb803d6c5906148e2f419a71d5957305617d8e80dfd495fe7170213cc582eb37bccaf39c3f
data/.gitignore CHANGED
@@ -3,9 +3,10 @@
3
3
  .bundle
4
4
  .config
5
5
  Gemfile.lock
6
- coverage
7
6
  InstalledFiles
7
+ coverage
8
8
  lib/bundler/man
9
+ pio.html
9
10
  pkg
10
11
  rdoc
11
12
  spec/reports
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
+ --require spec_helper
1
2
  --format Fuubar
2
3
  --color
data/lib/pio/arp/frame.rb CHANGED
@@ -1,6 +1,6 @@
1
- require "pio/type/ethernet-header"
2
- require "pio/type/ip-address"
3
- require "pio/type/mac-address"
1
+ require "pio/type/ethernet_header"
2
+ require "pio/type/ip_address"
3
+ require "pio/type/mac_address"
4
4
 
5
5
 
6
6
  module Pio
@@ -1,5 +1,6 @@
1
- require "pio/arp/frame"
2
1
  require "forwardable"
2
+ require "pio/arp/frame"
3
+ require "pio/ipv4_address"
3
4
 
4
5
 
5
6
  module Pio
@@ -45,7 +46,7 @@ module Pio
45
46
  def option_hash
46
47
  mandatory_options.inject( {} ) do | opt, each |
47
48
  klass = option_to_klass[ each ]
48
- opt_pair = { each => klass.new( user_options[ each ] ).to_a }
49
+ opt_pair = { each => klass.new( user_options[ each ] ).to_ary }
49
50
  opt.merge opt_pair
50
51
  end.merge default_options
51
52
  end
@@ -57,8 +58,8 @@ module Pio
57
58
  :destination_mac => Mac,
58
59
  :sender_hardware_address => Mac,
59
60
  :target_hardware_address => Mac,
60
- :sender_protocol_address => IP,
61
- :target_protocol_address => IP,
61
+ :sender_protocol_address => IPv4Address,
62
+ :target_protocol_address => IPv4Address,
62
63
  }
63
64
  end
64
65
  end
data/lib/pio/arp/reply.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require "forwardable"
2
2
  require "pio/arp/message"
3
- require "pio/ip"
4
3
  require "pio/mac"
5
4
 
6
5
 
@@ -1,6 +1,5 @@
1
1
  require "pio/arp/frame"
2
2
  require "pio/arp/message"
3
- require "pio/ip"
4
3
  require "pio/mac"
5
4
 
6
5
 
@@ -10,8 +9,8 @@ module Pio
10
9
  class Request < Message
11
10
  OPERATION = 1
12
11
 
13
- BROADCAST_MAC_ADDRESS = Mac.new( 0xffffffffffff ).to_a
14
- ALL_ZERO_MAC_ADDRESS = Mac.new( 0 ).to_a
12
+ BROADCAST_MAC_ADDRESS = Mac.new( 0xffffffffffff ).to_ary
13
+ ALL_ZERO_MAC_ADDRESS = Mac.new( 0 ).to_ary
15
14
 
16
15
 
17
16
  ########################################################################
@@ -0,0 +1,149 @@
1
+ require "forwardable"
2
+ require "ipaddr"
3
+
4
+
5
+ module Pio
6
+ #
7
+ # IPv4 Address
8
+ #
9
+ class IPv4Address
10
+ extend Forwardable
11
+
12
+
13
+ #
14
+ # @return [IPAddr] value object instance of proxied IPAddr.
15
+ #
16
+ attr_reader :value
17
+
18
+
19
+ #
20
+ # Creates a {IPv4Address} instance object as a proxy to IPAddr class.
21
+ #
22
+ # @overload initialize(addr)
23
+ #
24
+ # @param [String|Number] addr
25
+ # an IPv4 address specified either as a String or Number.
26
+ #
27
+ # @raise [TypeError] invalid address if supplied argument is invalid
28
+ #
29
+ # @return [IPv4Address] self
30
+ # a proxy to IPAddr.
31
+ #
32
+ def initialize addr
33
+ case addr
34
+ when Integer
35
+ @value = IPAddr.new( addr, Socket::AF_INET )
36
+ when String
37
+ @value = IPAddr.new( addr )
38
+ else
39
+ raise TypeError, "Invalid IPv4 address: #{ addr.inspect }"
40
+ end
41
+ end
42
+
43
+
44
+ #
45
+ # @return [String] the IPv4 address in its text representation.
46
+ #
47
+ def_delegator :value, :to_s
48
+
49
+
50
+ #
51
+ # @return [Number] the IPv4 address in its numeric representation.
52
+ #
53
+ def_delegator :value, :to_i
54
+
55
+
56
+ #
57
+ # @return [Array]
58
+ # an array of decimal numbers converted from IPv4 address.
59
+ #
60
+ def to_ary
61
+ to_s.split( "." ).collect do | each |
62
+ each.to_i
63
+ end
64
+ end
65
+
66
+
67
+ #
68
+ # @return [IPv4Address]
69
+ # Returns the IPv4 address masked with masklen.
70
+ #
71
+ def mask! masklen
72
+ @value = @value.mask( masklen )
73
+ return self
74
+ end
75
+ alias :prefix! :mask!
76
+
77
+
78
+ #
79
+ # @return [IPv4Address]
80
+ # Returns the IPv4 address masked with masklen.
81
+ #
82
+ def mask masklen
83
+ self.clone.mask!( masklen )
84
+ end
85
+ alias :prefix :mask
86
+
87
+
88
+ #
89
+ # @return [bool]
90
+ # Returns true if the address belongs to class A.
91
+ #
92
+ def class_a?
93
+ mask( 1 ).to_s == "0.0.0.0"
94
+ end
95
+
96
+
97
+ #
98
+ # @return [bool]
99
+ # Returns true if the address belongs to class B.
100
+ #
101
+ def class_b?
102
+ mask( 2 ).to_s == "128.0.0.0"
103
+ end
104
+
105
+
106
+ #
107
+ # @return [bool]
108
+ # Returns true if the address belongs to class C.
109
+ #
110
+ def class_c?
111
+ mask( 3 ).to_s == "192.0.0.0"
112
+ end
113
+
114
+
115
+ #
116
+ # @return [bool]
117
+ # Returns true if the address belongs to class D.
118
+ #
119
+ def class_d?
120
+ mask( 4 ).to_s == "224.0.0.0"
121
+ end
122
+ alias :multicast? :class_d?
123
+
124
+
125
+ #
126
+ # @return [bool]
127
+ # Returns true if the address belongs to class E.
128
+ #
129
+ def class_e?
130
+ mask( 4 ).to_s == "240.0.0.0"
131
+ end
132
+
133
+
134
+ #
135
+ # @return [bool]
136
+ # Returns true if the address is unicast address.
137
+ #
138
+ def unicast?
139
+ class_a? or class_b? or class_c?
140
+ end
141
+ end
142
+ end
143
+
144
+
145
+ ### Local variables:
146
+ ### mode: Ruby
147
+ ### coding: utf-8-unix
148
+ ### indent-tabs-mode: nil
149
+ ### End:
data/lib/pio/lldp.rb CHANGED
@@ -21,8 +21,8 @@ module Pio
21
21
 
22
22
  def to_hash
23
23
  {
24
- :destination_mac => Mac.new( destination_mac ).to_a,
25
- :source_mac => Mac.new( source_mac ).to_a,
24
+ :destination_mac => Mac.new( destination_mac ).to_ary,
25
+ :source_mac => Mac.new( source_mac ).to_ary,
26
26
  :chassis_id => dpid,
27
27
  :port_id => port_id
28
28
  }
@@ -1,11 +1,11 @@
1
1
  require "rubygems"
2
2
  require "bindata"
3
3
 
4
- require "pio/lldp/chassis-id-tlv"
5
- require "pio/lldp/optional-tlv"
6
- require "pio/lldp/port-id-tlv"
7
- require "pio/lldp/ttl-tlv"
8
- require "pio/type/ethernet-header"
4
+ require "pio/lldp/chassis_id_tlv"
5
+ require "pio/lldp/optional_tlv"
6
+ require "pio/lldp/port_id_tlv"
7
+ require "pio/lldp/ttl_tlv"
8
+ require "pio/type/ethernet_header"
9
9
 
10
10
 
11
11
  module Pio
@@ -1,10 +1,10 @@
1
- require "pio/lldp/port-description-value"
2
- require "pio/lldp/system-name-value"
3
- require "pio/lldp/system-description-value"
4
- require "pio/lldp/system-capabilities-value"
5
- require "pio/lldp/management-address-value"
6
- require "pio/lldp/organizationally-specific-value"
7
- require "pio/lldp/end-of-lldpdu-value"
1
+ require "pio/lldp/port_description_value"
2
+ require "pio/lldp/system_name_value"
3
+ require "pio/lldp/system_description_value"
4
+ require "pio/lldp/system_capabilities_value"
5
+ require "pio/lldp/management_address_value"
6
+ require "pio/lldp/organizationally_specific_value"
7
+ require "pio/lldp/end_of_lldpdu_value"
8
8
 
9
9
 
10
10
  module Pio
File without changes
File without changes
data/lib/pio/mac.rb CHANGED
@@ -73,11 +73,11 @@ module Pio
73
73
  # address string format.
74
74
  #
75
75
  # @example
76
- # Mac.new("11:22:33:44:55:66").to_a #=> [ 0x11, 0x22, 0x33, 0x44, 0x55, 0x66 ]
76
+ # Mac.new("11:22:33:44:55:66").to_ary #=> [ 0x11, 0x22, 0x33, 0x44, 0x55, 0x66 ]
77
77
  #
78
78
  # @return [Array] the Ethernet address in Array format
79
79
  #
80
- def to_a
80
+ def to_ary
81
81
  @string.split( ":" ).collect do | each |
82
82
  each.hex
83
83
  end
@@ -103,7 +103,7 @@ module Pio
103
103
  # @return [Boolean] whether the Ethernet address is multicast
104
104
  #
105
105
  def multicast?
106
- to_a[ 0 ] & 1 == 1
106
+ to_ary[ 0 ] & 1 == 1
107
107
  end
108
108
 
109
109
 
@@ -116,7 +116,7 @@ module Pio
116
116
  # @return [Boolean] whether the Ethernet address is broadcast
117
117
  #
118
118
  def broadcast?
119
- to_a.all? { | each | each == 0xff }
119
+ to_ary.all? { | each | each == 0xff }
120
120
  end
121
121
 
122
122
 
@@ -1,4 +1,4 @@
1
- require "pio/type/mac-address"
1
+ require "pio/type/mac_address"
2
2
 
3
3
 
4
4
  module Pio
@@ -1,4 +1,5 @@
1
1
  require "bindata"
2
+ require "pio/ipv4_address"
2
3
 
3
4
 
4
5
  module Pio
@@ -14,7 +15,7 @@ module Pio
14
15
 
15
16
 
16
17
  def get
17
- IP.new octets.collect { | each | "%d" % each }.join( "." )
18
+ IPv4Address.new octets.collect { | each | "%d" % each }.join( "." )
18
19
  end
19
20
  end
20
21
  end
File without changes
data/lib/pio/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # Base module.
2
2
  module Pio
3
3
  # gem version.
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
6
6
 
7
7
 
data/pio.org CHANGED
@@ -1,4 +1,4 @@
1
- #+TITLE: Pio の TODO
1
+ #+TITLE: Pio の開発
2
2
  #+FILETAGS: PIO
3
3
  #+ICALENDAR_EXCLUDE_TAGS: noex
4
4
 
@@ -14,6 +14,13 @@ CLOCK: [2013-09-05 木 17:30]--[2013-09-05 木 17:31] => 0:01
14
14
 
15
15
  近藤さんおすすめの ARP フォーマット解説。
16
16
  http://www.n-study.com/network/arpheader.htm
17
+ ** ICMP のテスト用データ :NOTE:
18
+ :LOGBOOK:
19
+ CLOCK: [2013-09-22 日 22:25]--[2013-09-22 日 22:26] => 0:01
20
+ :END:
21
+ [2013-09-22 日 22:25]
22
+
23
+ https://gist.github.com/shun159/6647589
17
24
  ** ターミナルでペアプロするための設定 :NOTE:
18
25
  :LOGBOOK:
19
26
  CLOCK: [2013-07-22 月 09:29]--[2013-07-22 月 09:30] => 0:01
@@ -25,488 +32,105 @@ CLOCK: [2013-07-22 月 09:29]--[2013-07-22 月 09:30] => 0:01
25
32
  [2013-07-22 月 09:29]
26
33
 
27
34
  http://www.zeespencer.com/articles/building-a-remote-pairing-setup/
35
+ ** ICMP フォーマット :NOTE:
36
+ [2013-09-22 日 23:09]
37
+
38
+ http:///www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/icmpheaders.html
28
39
  * Tasks
29
40
  このアイテムをそれぞれのリリースに割り振る。
30
41
  ** NEXT git パスワードを省略できるように
31
42
  [2013-09-13 金 17:07]
32
- ** WAITING 鈴木さんルータの ARP 部分を Pio で書き直してもらう :WAITING:
33
- - State "WAITING" from "TODO" [2013-09-18 水 12:04] \\
34
- ARP のコードが実機で動いてから
35
- :LOGBOOK:
36
- CLOCK: [2013-09-14 土 10:20]--[2013-09-14 土 10:21] => 0:01
37
- :END:
38
- [2013-09-14 土 10:20]
39
- ** WAITING 鈴木さんの IPv4Address への PR を Pio へ誘導 :WAITING:
40
- - State "WAITING" from "TODO" [2013-09-18 水 12:05] \\
41
- 本体にマージし 0.2.0 をリリースしてから。
42
- [2013-09-14 土 10:22]
43
-
44
- https://github.com/trema/trema-edge/pull/22
45
- ** TODO flay に PR を送る (FlayTask が動かない件)
46
- :LOGBOOK:
47
- CLOCK: [2013-09-18 水 17:20]--[2013-09-18 水 17:21] => 0:01
48
- :END:
49
- [2013-09-18 水 17:20]
50
43
  ** TODO bindata 1.6.0 の changelog をチェック
51
44
  [2013-09-05 木 21:32]
52
45
  ** TODO 各 OpenFlow メッセージのパーサを作る
53
46
  [2013-09-06 金 19:27]
54
47
  ** TODO Nick さんに README の英語をチェックしてもらう
55
48
  [2013-09-18 水 12:01]
56
- * Research and Development
57
- ** TODO 0.2.0 リリース
49
+ ** TODO phost を Pio で書き直す
50
+ [2013-09-24 15:36]
51
+ * Releases
52
+ ** TODO 0.2.2 リリース
58
53
  :LOGBOOK:
59
- CLOCK: [2013-09-13 16:30]--[2013-09-13 17:02] => 0:32
60
- CLOCK: [2013-09-13 金 16:29]--[2013-09-13 金 16:30] => 0:01
61
- CLOCK: [2013-09-13 金 16:28]--[2013-09-13 金 16:29] => 0:01
62
- CLOCK: [2013-09-13 金 16:26]--[2013-09-13 金 16:27] => 0:01
63
- CLOCK: [2013-09-13 金 16:13]--[2013-09-13 金 16:26] => 0:13
64
- CLOCK: [2013-09-13 金 16:07]--[2013-09-13 金 16:11] => 0:04
65
- CLOCK: [2013-09-13 金 15:53]--[2013-09-13 金 15:54] => 0:01
66
- CLOCK: [2013-09-13 金 15:45]--[2013-09-13 金 15:48] => 0:03
67
- CLOCK: [2013-09-13 金 14:05]--[2013-09-13 金 15:43] => 1:38
68
- CLOCK: [2013-09-13 金 13:25]--[2013-09-13 金 13:28] => 0:03
69
- CLOCK: [2013-09-13 金 11:40]--[2013-09-13 金 11:56] => 0:16
70
- CLOCK: [2013-09-13 金 11:27]--[2013-09-13 金 11:28] => 0:01
71
- CLOCK: [2013-09-13 金 10:32]--[2013-09-13 金 10:33] => 0:01
72
- CLOCK: [2013-09-13 金 10:27]--[2013-09-13 金 10:31] => 0:04
73
- CLOCK: [2013-09-13 金 10:06]--[2013-09-13 金 10:07] => 0:01
74
- CLOCK: [2013-09-13 金 09:59]--[2013-09-13 金 10:05] => 0:06
75
- CLOCK: [2013-09-05 木 11:04]--[2013-09-05 木 11:05] => 0:01
54
+ CLOCK: [2013-09-19 14:29]--[2013-09-19 16:39] => 2:10
76
55
  :END:
77
- [2013-09-0511:04]
78
- *** DONE 実機で検証
79
- CLOSED: [2013-09-19 木 13:56]
80
- - State "DONE" from "WAITING" [2013-09-19 木 13:56]
81
- - State "WAITING" from "TODO" [2013-09-18 12:00] \\
82
- 近藤さんに再度実機でのテストを依頼中。
56
+ [2013-09-1914:17]
57
+ *** DONE IP -> IPv4Address
58
+ SCHEDULED: <2013-09-26 木>
59
+ [2013-09-26 木 13:33]
60
+ *** DONE 鈴木さんの IPv4Address への PR を Pio へ誘導
61
+ CLOSED: [2013-09-19 木 14:29] SCHEDULED: <2013-09-19 木>
83
62
  :LOGBOOK:
84
- CLOCK: [2013-09-06 16:05]--[2013-09-06 16:06] => 0:01
63
+ CLOCK: [2013-09-19 14:27]--[2013-09-19 14:29] => 0:02
85
64
  :END:
86
- [2013-09-06 16:05]
87
-
88
- 近藤さんが実機検証環境を作り中。
89
-
90
- その上で Arp Request をつかまえてパースしたり、Arp Request を送るだけの
91
- 簡単なコントローラを動かし、しばらく動かしてバグがないかを確認してもら
92
- う。
65
+ - State "TODO" from "WAITING" [2013-09-19 14:18]
66
+ - State "WAITING" from "TODO" [2013-09-18 水 12:05] \\
67
+ 0.2.0 をリリースしてから。
68
+ [2013-09-14 土 10:22]
93
69
 
94
- もし何か問題があれば、コードにフィードバックする。
70
+ 鈴木さんが trema-edge に出している PR はこちら
71
+ https://github.com/trema/trema-edge/pull/22
95
72
 
96
- **** DONE 実機環境を構築
97
- CLOSED: [2013-09-18 水 12:00]
98
- [2013-09-13 09:44]
99
- *** DONE Arp::{Request,Reply} #mandatory_options をリファクタリング
100
- CLOSED: [2013-09-19 木 10:29] SCHEDULED: <2013-09-19 木>
101
- :LOGBOOK:
102
- CLOCK: [2013-09-19 木 10:23]--[2013-09-19 木 10:29] => 0:06
103
- CLOCK: [2013-09-19 木 10:07]--[2013-09-19 木 10:08] => 0:01
104
- :END:
73
+ コメントしておいた。
74
+ https://github.com/trema/trema-edge/pull/22#issuecomment-24717877
75
+ *** DONE チケットを切ったことを鈴木さんに確認
76
+ CLOSED: [2013-09-24 20:57] SCHEDULED: <2013-09-24 火 13:45>
105
77
  :PROPERTIES:
106
- :Effort: 0:30
78
+ :Effort: 0:05
107
79
  :END:
108
- [2013-09-19 10:07]
109
-
110
- 今の実装だと、「必須オプション」と「それぞれの型」という 2 つの情報が
111
- 入ってしまっている。「それぞれの型」の情報は、Arp::Message に引き上げ
112
- たほうがいいと思う。
113
- *** DONE FlayTask が正しく動いてるか確認
114
- CLOSED: [2013-09-18 水 17:17] SCHEDULED: <2013-09-18 水>
115
- [2013-09-18 水 16:54]
116
-
117
- 最小の FlayTask だけを含んだ Rakefile を作ってみたけどやっぱりダメだっ
118
- た。なぜか verbose = trueにしたときだけレポートが表示される。FlayTask
119
- のバグか?
120
- *** DONE 近藤さんからもらったキャプチャデータを試す
121
- CLOSED: [2013-09-18 水 16:35] SCHEDULED: <2013-09-18 水>
80
+ [2013-09-20 09:26]
81
+ ** TODO 0.2.3 リリース
122
82
  :LOGBOOK:
123
- CLOCK: [2013-09-18 16:24]--[2013-09-18 16:35] => 0:11
124
- :END:
125
- :PROPERTIES:
126
- :Effort: 1:00
83
+ CLOCK: [2013-09-26 13:31]--[2013-09-26 13:32] => 0:01
127
84
  :END:
128
- [2013-09-18 15:04]
129
-
130
- https://gist.github.com/shun159/6604955
131
- *** DONE ruby_topology を新しい Lldp.new に合わせて直す
132
- CLOSED: [2013-09-18 水 11:12] SCHEDULED: <2013-09-18 水>
85
+ [2013-09-26 13:31]
86
+ *** TODO 鈴木さんルータの ARP 部分を Pio で書き直してもらう
87
+ - State "TODO" from "WAITING" [2013-09-19 木 14:18]
88
+ - State "WAITING" from "TODO" [2013-09-18 12:04] \\
89
+ ARP のコードが実機で動いてから
133
90
  :LOGBOOK:
134
- CLOCK: [2013-09-18 10:45]--[2013-09-18 11:12] => 0:27
135
- CLOCK: [2013-09-17 火 22:45]--[2013-09-17 火 22:46] => 0:01
136
- :END:
137
- :PROPERTIES:
138
- :Effort: 0:30
91
+ CLOCK: [2013-09-14 10:20]--[2013-09-14 10:21] => 0:01
139
92
  :END:
140
- [2013-09-17 22:45]
141
- *** DONE README.md に ARP の例を追加
142
- CLOSED: [2013-09-18 水 10:19] SCHEDULED: <2013-09-18 水>
143
- [2013-09-13 金 16:29]
93
+ [2013-09-14 10:20]
144
94
 
145
- できれば .org から tangle して生成したいけどそれはまた今度の話?
146
- *** DONE ARP のオプション処理をリファクタリング
147
- CLOSED: [2013-09-18 10:07] SCHEDULED: <2013-09-18 水>
95
+ GitHub のチケットはこちら:
96
+ https://github.com/trema/pio/issues/1
97
+ ** TODO 0.3.0 リリース
98
+ - State "TODO" from "WAITING" [2013-09-19 木 14:16]
99
+ - State "WAITING" from "TODO" [2013-09-06 金 17:17] \\
100
+ 0.2.0 が無事に出てから
101
+ [2013-09-05 木 17:29]
102
+ *** TODO ICMP パーサを作る
103
+ [2013-08-02 金 17:19]
104
+ *** DONE gem の命名規則に合わせる
105
+ CLOSED: [2013-09-26 木 08:28] SCHEDULED: <2013-09-26 木>
148
106
  :LOGBOOK:
149
- CLOCK: [2013-09-18 09:19]--[2013-09-18 10:07] => 0:48
107
+ CLOCK: [2013-09-26 08:20]--[2013-09-26 08:28] => 0:08
108
+ CLOCK: [2013-09-26 木 08:05]--[2013-09-26 木 08:06] => 0:01
150
109
  :END:
151
110
  :PROPERTIES:
152
111
  :Effort: 0:30
153
112
  :END:
154
- [2013-09-18 09:17]
155
- *** DONE require "pio" ですべてロードされるようにする
156
- CLOSED: [2013-09-17 火 15:20] SCHEDULED: <2013-09-17 火>
157
- :LOGBOOK:
158
- CLOCK: [2013-09-13 金 16:27]--[2013-09-13 金 16:28] => 0:01
159
- :END:
160
- [2013-09-13 金 16:27]
161
-
162
- README.md にはそのように書いてあるけど、実際にはそうなっていない。
163
- *** DONE Lldp のリファクタリング
164
- CLOSED: [2013-09-17 火 23:01] SCHEDULED: <2013-09-17 火>
165
- [2013-09-13 金 16:26]
166
-
167
- ARP のテストのように Lldp.new と Lldp.read のテストだけに絞ってシンプル
168
- にする。
169
-
170
- **** DONE lldp_spec.rb にパーサのテストを補強
171
- CLOSED: [2013-09-17 火 14:27] SCHEDULED: <2013-09-17 火>
172
- :LOGBOOK:
173
- CLOCK: [2013-09-17 火 11:08]--[2013-09-17 火 14:27] => 3:19
174
- CLOCK: [2013-09-17 火 10:52]--[2013-09-17 火 10:53] => 0:01
175
- :END:
113
+ [2013-09-26 08:05]
114
+ *** NEXT YARD の警告をつぶす
115
+ SCHEDULED: <2014-08-19 火>
176
116
  :PROPERTIES:
177
117
  :Effort: 0:30
178
118
  :END:
179
- [2013-09-17 10:52]
180
- **** DONE lldp_spec.rb にジェネレータのテストを補強
181
- CLOSED: [2013-09-17 火 17:43] SCHEDULED: <2013-09-17 火>
182
- :LOGBOOK:
183
- CLOCK: [2013-09-17 火 10:53]--[2013-09-17 火 10:54] => 0:01
184
- :END:
185
- :PROPERTIES:
186
- :Effort: 2:00
187
- :END:
188
- [2013-09-17 火 10:53]
189
- **** DONE README.md の Lldp の使いかたを更新
190
- CLOSED: [2013-09-17 火 17:50] SCHEDULED: <2013-09-17 火>
191
- :LOGBOOK:
192
- CLOCK: [2013-09-17 火 17:45]--[2013-09-17 火 17:46] => 0:01
193
- :END:
194
- [2013-09-17 火 17:45]
195
- **** DONE rake quality の警告をつぶす
196
- CLOSED: [2013-09-17 火 21:58] SCHEDULED: <2013-09-17 火>
197
- :LOGBOOK:
198
- CLOCK: [2013-09-17 火 21:33]--[2013-09-17 火 21:58] => 0:25
199
- :END:
200
- [2013-09-17 火 21:32]
201
- **** DONE rake spec のエラーを直す
202
- CLOSED: [2013-09-17 火 22:06] SCHEDULED: <2013-09-17 火>
203
- :LOGBOOK:
204
- CLOCK: [2013-09-17 火 22:04]--[2013-09-17 火 22:06] => 0:02
205
- CLOCK: [2013-09-17 火 22:02]--[2013-09-17 火 22:03] => 0:01
206
- :END:
207
- [2013-09-17 火 22:02]
208
-
209
- 2.0 系だけ?MacBook Air で実行したら次のエラーが出た。
210
-
211
- #+BEGIN_SRC shell
212
- /Users/yasuhito/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/json/common.rb:270:in `pretty_generate': uninitialized constant JSON::State (NameError)
213
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/json.rb:16:in `dump'
214
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/result_merger.rb:69:in `block in store_result'
215
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/result_merger.rb:68:in `open'
216
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/result_merger.rb:68:in `store_result'
217
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov.rb:48:in `result'
218
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/configuration.rb:133:in `block in at_exit'
219
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/defaults.rb:52:in `call'
220
- from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/defaults.rb:52:in `block in <top (required)>'
221
- /Users/yasuhito/.rvm/rubies/ruby-2.0.0-p247/bin/ruby -S rspec ./spec/pio/arp/reply_spec.rb ./spec/pio/arp/request_spec.rb ./spec/pio/arp_spec.rb ./spec/pio/ip_spec.rb ./spec/pio/lldp/chassis-id-tlv_spec.rb ./spec/pio/lldp/end-of-lldpdu-value_spec.rb ./spec/pio/lldp/frame_spec.rb ./spec/pio/lldp/optional-tlv_spec.rb ./spec/pio/lldp/port-id-tlv_spec.rb ./spec/pio/lldp/ttl-tlv_spec.rb ./spec/pio/lldp_spec.rb ./spec/pio/mac_spec.rb failed
222
- #+END_SRC
223
- **** DONE いらないテストを消す
224
- CLOSED: [2013-09-17 火 22:08] SCHEDULED: <2013-09-17 火>
225
- :LOGBOOK:
226
- CLOCK: [2013-09-17 火 22:06]--[2013-09-17 火 22:07] => 0:01
227
- :END:
228
- [2013-09-17 火 22:06]
229
- *** DONE quality タスクの description を追加
230
- CLOSED: [2013-09-13 金 16:13] SCHEDULED: <2013-09-13 金>
231
- :LOGBOOK:
232
- CLOCK: [2013-09-13 金 16:11]--[2013-09-13 金 16:13] => 0:02
233
- :END:
234
- [2013-09-05 木 21:32]
235
- *** DONE Pio::Mac のテストコードを Trema から移植
236
- CLOSED: [2013-09-13 金 16:07] SCHEDULED: <2013-09-13 金>
237
- :LOGBOOK:
238
- CLOCK: [2013-09-13 金 15:54]--[2013-09-13 金 16:07] => 0:13
239
- CLOCK: [2013-09-13 金 15:44]--[2013-09-13 金 15:45] => 0:01
240
- :END:
241
- [2013-09-13 金 15:44]
242
- *** DONE Pio::IP のテストコードを Trema から移植
243
- CLOSED: [2013-09-13 金 15:53] SCHEDULED: <2013-09-13 金>
244
- :LOGBOOK:
245
- CLOCK: [2013-09-13 金 15:48]--[2013-09-13 金 15:53] => 0:05
246
- CLOCK: [2013-09-13 金 15:43]--[2013-09-13 金 15:44] => 0:01
247
- :END:
248
- [2013-09-13 金 15:43]
249
- *** DONE Pio::Arp::Reply#initialize の flog 警告を直す
250
- CLOSED: [2013-09-13 金 13:25] SCHEDULED: <2013-09-13 金>
251
- :LOGBOOK:
252
- CLOCK: [2013-09-13 金 11:56]--[2013-09-13 金 13:25] => 1:29
253
- CLOCK: [2013-09-13 金 10:31]--[2013-09-13 金 10:32] => 0:01
254
- :END:
255
- [2013-09-13 金 10:31]
256
- *** DONE Pio::Arp::Request#initialize の flog 警告を直す
257
- CLOSED: [2013-09-13 金 11:27] SCHEDULED: <2013-09-13 金>
258
- :LOGBOOK:
259
- CLOCK: [2013-09-13 金 10:33]--[2013-09-13 金 11:27] => 0:54
260
- :END:
261
- [2013-09-13 金 10:32]
262
- *** DONE Pio::IP#prefixlen の reek 警告部分を直す
263
- CLOSED: [2013-09-13 金 10:27] SCHEDULED: <2013-09-13 金>
264
- :LOGBOOK:
265
- CLOCK: [2013-09-13 金 10:07]--[2013-09-13 金 10:27] => 0:20
266
- CLOCK: [2013-09-13 金 10:05]--[2013-09-13 金 10:06] => 0:01
267
- :END:
268
- [2013-09-13 金 10:05]
269
-
270
- 次の警告が出ている。
271
-
272
- #+BEGIN_SRC shell
273
- % rake quality
274
- lib/pio/ip.rb -- 3 warnings:
275
- Pio::IP#prefixlen has approx 6 statements (TooManyStatements)
276
- Pio::IP#prefixlen refers to mask more than self (FeatureEnvy)
277
- Pio::IP#prefixlen refers to range more than self (FeatureEnvy)
278
- 3 total warnings
279
- #+END_SRC
280
- *** DONE rake quality が最後まで走るようにする
281
- CLOSED: [2013-09-13 金 09:59] SCHEDULED: <2013-09-13 金>
282
- :LOGBOOK:
283
- CLOCK: [2013-09-13 金 09:57]--[2013-09-13 金 09:59] => 0:02
284
- CLOCK: [2013-09-13 金 09:50]--[2013-09-13 金 09:51] => 0:01
285
- :END:
286
- [2013-09-13 金 09:50]
287
-
288
- いまの reek, flog タスク等は問題があったときに例外を上げてそこで止まっ
289
- てしまうので、次のタスクに行かない。そうではなくて、エラーメッセージだ
290
- け出して quality タスク全体をひととおり実行するように直す。
291
- *** DONE ARP パーサを作る (Pio::Arp.read)
292
- CLOSED: [2013-09-12 木 14:57]
293
- [2013-08-02 金 17:19]
294
- **** DONE rake quality にかける
295
- CLOSED: [2013-09-12 木 11:48] SCHEDULED: <2013-09-12 木>
296
- [2013-09-12 木 09:09]
297
- **** DONE RSpec の見直し
298
- CLOSED: [2013-09-12 木 11:36] SCHEDULED: <2013-09-12 木>
299
- :LOGBOOK:
300
- CLOCK: [2013-09-12 木 10:30]--[2013-09-12 木 11:36] => 1:06
301
- CLOCK: [2013-09-11 水 21:36]--[2013-09-11 水 21:37] => 0:01
302
- :END:
303
- [2013-09-11 水 21:36]
304
-
305
- ここに書いてあるベストプラクティスを参考に、ひととおり見直す。
306
- http://betterspecs.org/jp/
307
- **** DONE Arp.read でパースした結果の各フィールドのテストを追加
308
- CLOSED: [2013-09-12 木 10:08] SCHEDULED: <2013-09-12 木>
309
- [2013-09-11 水 15:47]
310
- **** DONE pio/lldp/mac-address.rb -> pio/mac-address.rb に変更
311
- CLOSED: [2013-09-09 月 13:52]
312
- :LOGBOOK:
313
- CLOCK: [2013-09-06 金 16:02]--[2013-09-06 金 16:03] => 0:01
314
- :END:
315
- [2013-09-06 金 16:02]
316
- **** DONE ARP Reply のテストを追加
317
- CLOSED: [2013-09-09 月 14:17] SCHEDULED: <2013-09-09 月>
318
- [2013-09-06 金 16:04]
319
- **** DONE operation の値で ArpRequest と ArpReply クラスを変える
320
- CLOSED: [2013-09-11 水 14:30]
321
- :LOGBOOK:
322
- CLOCK: [2013-09-06 金 16:23]--[2013-09-06 金 16:24] => 0:01
323
- :END:
324
- [2013-09-06 金 16:23]
325
- **** DONE 金曜日分の作業を近藤さんリポジトリに push する
326
- CLOSED: [2013-09-06 金 16:22]
327
- :LOGBOOK:
328
- CLOCK: [2013-09-06 金 16:14]--[2013-09-06 金 16:15] => 0:01
329
- :END:
330
- [2013-09-06 金 16:14]
331
- **** DONE Arp.read で ArpRequest or ArpReply が返ってくる部分のテストを書く
332
- CLOSED: [2013-09-11 水 14:30]
333
- [2013-09-11 水 14:10]
334
- **** DONE いらないファイルがないか探して消す
335
- CLOSED: [2013-09-11 水 14:54]
336
- [2013-09-09 月 14:19]
337
- **** DONE lib/pio/arp/ip-address.rb -> lib/pio/type/ip-address.rb
338
- CLOSED: [2013-09-11 水 15:45]
339
- :LOGBOOK:
340
- CLOCK: [2013-09-11 水 15:43]--[2013-09-11 水 15:44] => 0:01
341
- :END:
342
- [2013-09-11 水 15:43]
343
- **** DONE lib/pio/mac-address.rb -> lib/pio/type/mac-address.rb
344
- CLOSED: [2013-09-11 水 15:42]
345
- :LOGBOOK:
346
- CLOCK: [2013-09-11 水 15:38]--[2013-09-11 水 15:39] => 0:01
347
- :END:
348
- [2013-09-11 水 15:38]
349
- **** DONE 調べる: ARP request と reply でパディングが付くのはどんなとき?
350
- CLOSED: [2013-09-11 水 15:06]
351
- :LOGBOOK:
352
- CLOCK: [2013-09-09 月 14:02]--[2013-09-09 月 14:03] => 0:01
353
- :END:
354
- [2013-09-09 月 14:02]
355
-
356
- 近藤さんが時間のあるときに調べる。
357
- **** DONE リネーム ArpRequest -> Arp::Request
358
- CLOSED: [2013-09-11 水 15:01]
359
- [2013-09-11 水 14:56]
360
- **** DONE リネーム ArpReply -> Arp::Reply
361
- CLOSED: [2013-09-11 水 15:05]
362
- [2013-09-11 水 14:57]
363
- *** DONE Arp Request のジェネレータを作る (Pio::Arp::Request.new) :Request:
364
- CLOSED: [2013-09-12 木 14:57]
365
- :LOGBOOK:
366
- CLOCK: [2013-09-10 火 11:36]--[2013-09-10 火 11:38] => 0:02
367
- CLOCK: [2013-09-10 火 11:08]--[2013-09-10 火 11:10] => 0:02
368
- CLOCK: [2013-09-10 火 10:47]--[2013-09-10 火 10:48] => 0:01
369
- :END:
370
- [2013-09-09 月 15:23]
371
- **** DONE #to_binary を追加
372
- CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
373
- [2013-09-12 木 11:51]
374
- **** DONE RSpec の見直し
375
- CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
376
- :LOGBOOK:
377
- CLOCK: [2013-09-12 木 13:34]--[2013-09-12 木 14:09] => 0:35
378
- CLOCK: [2013-09-11 水 21:36]--[2013-09-11 水 21:37] => 0:01
379
- :END:
380
- [2013-09-11 水 21:36]
381
-
382
- ここに書いてあるベストプラクティスを参考に、ひととおり見直す。
383
- http://betterspecs.org/jp/
384
- **** DONE rake quality にかける
385
- CLOSED: [2013-09-12 木 14:44] SCHEDULED: <2013-09-12 木>
386
- [2013-09-12 木 08:47]
387
- **** DONE Trema の IP アドレスクラスを持ってくる
388
- CLOSED: [2013-09-11 水 14:05]
389
- [2013-09-11 水 13:41]
390
- **** DONE Trema の Mac クラスを Pio に持ってくる
391
- CLOSED: [2013-09-11 水 13:40] SCHEDULED: <2013-09-11 水>
392
- :LOGBOOK:
393
- CLOCK: [2013-09-11 水 11:17]--[2013-09-11 水 11:18] => 0:01
394
- :END:
395
- [2013-09-11 水 11:17]
396
- **** DONE #new に必須オプションが渡されてないときのエラー処理
397
- CLOSED: [2013-09-11 水 11:03]
398
- [2013-09-10 火 11:38]
399
- **** DONE 整数 -> 8bit int の Array に変換するエレガントな書き方
400
- CLOSED: [2013-09-10 火 11:36] SCHEDULED: <2013-09-10 火>
401
- :LOGBOOK:
402
- CLOCK: [2013-09-10 火 11:10]--[2013-09-10 火 11:36] => 0:26
403
- :END:
404
- [2013-09-09 月 17:13]
405
- **** DONE IP アドレスを文字列で指定できるようにする
406
- CLOSED: [2013-09-10 火 11:08] SCHEDULED: <2013-09-10 火>
407
- :LOGBOOK:
408
- CLOCK: [2013-09-10 火 10:48]--[2013-09-10 火 11:08] => 0:20
409
- :END:
410
- [2013-09-09 月 17:10]
411
- **** DONE 00:00:00:00:00:00 な MAC アドレスの名前を調べる
412
- CLOSED: [2013-09-10 火 10:47] SCHEDULED: <2013-09-10 火>
413
- :LOGBOOK:
414
- CLOCK: [2013-09-10 火 10:45]--[2013-09-10 火 10:47] => 0:02
415
- :END:
416
- [2013-09-09 月 15:53]
417
- **** DONE MAC アドレスを文字列で指定できるようにする
418
- CLOSED: [2013-09-09 月 17:10]
419
- [2013-09-09 月 15:58]
420
- **** DONE ARP Request を生成するテストを追加
421
- CLOSED: [2013-09-09 月 15:56]
422
- [2013-09-09 月 14:25]
423
- *** DONE Arp Reply のジェネレータを作る (Pio::Arp::Reply.new) :Reply:
424
- CLOSED: [2013-09-12 木 14:57]
425
- [2013-09-09 月 15:26]
426
- **** DONE #to_binary を追加
427
- CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
428
- [2013-09-12 木 11:51]
429
- **** DONE RSpec の見直し
430
- CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
431
- :LOGBOOK:
432
- CLOCK: [2013-09-12 木 14:09]--[2013-09-12 木 14:36] => 0:27
433
- CLOCK: [2013-09-11 水 21:36]--[2013-09-11 水 21:37] => 0:01
434
- :END:
435
- [2013-09-11 水 21:36]
436
-
437
- ここに書いてあるベストプラクティスを参考に、ひととおり見直す。
438
- http://betterspecs.org/jp/
439
- **** DONE rake quality にかける
440
- CLOSED: [2013-09-12 木 14:44] SCHEDULED: <2013-09-12 木>
441
- :LOGBOOK:
442
- CLOCK: [2013-09-12 木 09:09]--[2013-09-12 木 09:10] => 0:01
443
- :END:
444
- [2013-09-12 木 09:09]
445
- **** DONE ARP Reply を生成するテストを追加
446
- [2013-09-09 月 14:27]
447
- *** DONE Arp::Frame と Lldp::Frame の Ethernet ヘッダ部分を共通化
448
- CLOSED: [2013-09-12 木 15:15] SCHEDULED: <2013-09-12 木>
449
- :LOGBOOK:
450
- CLOCK: [2013-09-12 木 14:58]--[2013-09-12 木 15:15] => 0:17
451
- CLOCK: [2013-09-06 金 16:10]--[2013-09-06 金 16:13] => 0:03
452
- :END:
453
- [2013-09-06 金 16:10]
454
-
455
- たとえば、以下のように 3 つのフィールドがひとつにまとまることになる。
456
-
457
- #+BEGIN_SRC ruby
458
- mac_address :destination_mac
459
- mac_address :source_mac
460
- uint16 :ether_type, :value => 0x0806
461
-
462
- #=>
463
-
464
- ethernet :ethernet
465
- # or
466
- ehternet :l2
467
- #+END_SRC
468
-
469
- みたいな感じ?
470
- *** DONE Lldp の :ethertype -> :ether_type に名前を変更
471
- CLOSED: [2013-09-12 木 15:18] SCHEDULED: <2013-09-12 木>
472
- :LOGBOOK:
473
- CLOCK: [2013-09-12 木 15:16]--[2013-09-12 木 15:18] => 0:02
474
- CLOCK: [2013-09-06 金 20:38]--[2013-09-06 金 20:39] => 0:01
475
- :END:
476
- [2013-09-06 金 20:38]
477
- *** DONE guard の "ambiguous option stat" を直す
478
- CLOSED: [2013-09-12 木 09:35] SCHEDULED: <2013-09-12 木>
479
- :LOGBOOK:
480
- CLOCK: [2013-09-12 木 09:19]--[2013-09-12 木 09:35] => 0:16
481
- CLOCK: [2013-09-12 木 09:16]--[2013-09-12 木 09:17] => 0:01
482
- :END:
483
- [2013-09-12 木 09:16]
484
- *** DONE フィールド名を修正
119
+ [2013-07-31 15:32]
120
+ *** TODO flay に PR を送る (FlayTask が動かない件)
485
121
  :LOGBOOK:
486
- CLOCK: [2013-09-10 14:46]--[2013-09-10 14:48] => 0:02
122
+ CLOCK: [2013-09-18 17:20]--[2013-09-18 17:21] => 0:01
487
123
  :END:
488
- [2013-09-10 14:46]
489
-
490
- - :source_hardware_address -> :sender_hardware_address
491
- - :source_protocol_address -> :sender_protocol_address
492
- *** DONE Arp::Request と Arp::Reply の共通部分をクラスに引き上げ
493
- CLOSED: [2013-09-13 金 14:05] SCHEDULED: <2013-09-13 金>
124
+ [2013-09-18 17:20]
125
+ *** DONE 明示的に spec_helper.rb をロードしてる部分をなくす
126
+ CLOSED: [2013-09-26 木 08:18] SCHEDULED: <2013-09-26 木>
494
127
  :LOGBOOK:
495
- CLOCK: [2013-09-13 13:28]--[2013-09-13 14:05] => 0:37
128
+ CLOCK: [2013-09-26 08:14]--[2013-09-26 08:15] => 0:01
496
129
  :END:
497
- [2013-09-13 金 13:28]
498
- ** WAITING 0.3.0 リリース :WAITING:
499
- - State "WAITING" from "TODO" [2013-09-06 金 17:17] \\
500
- 0.2.0 が無事に出てから
501
- [2013-09-05 木 17:29]
502
- *** TODO ICMP パーサを作る
503
- [2013-08-02 金 17:19]
504
- *** NEXT YARD の警告をつぶす
505
- SCHEDULED: <2014-08-19 火>
506
130
  :PROPERTIES:
507
131
  :Effort: 0:30
508
132
  :END:
509
- [2013-07-31 15:32]
133
+ [2013-09-26 08:14]
510
134
  ** WAITING 0.4.0 リリース :WAITING:
511
135
  - State "WAITING" from "TODO" [2013-09-06 金 17:18] \\
512
136
  0.3.0 が無事に出てから。