pio 0.2.1 → 0.2.2

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 (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
data/pio.org_archive CHANGED
@@ -387,3 +387,454 @@ CLOCK: [2013-09-09 月 10:22]--[2013-09-09 月 10:23] => 0:01
387
387
  :ARCHIVE_ITAGS: PIO
388
388
  :END:
389
389
  [2013-09-09 月 10:22]
390
+
391
+ * DONE 0.2.0 リリース
392
+ CLOSED: [2013-09-19 木 14:14]
393
+ :LOGBOOK:
394
+ CLOCK: [2013-09-13 金 16:30]--[2013-09-13 金 17:02] => 0:32
395
+ CLOCK: [2013-09-13 金 16:29]--[2013-09-13 金 16:30] => 0:01
396
+ CLOCK: [2013-09-13 金 16:28]--[2013-09-13 金 16:29] => 0:01
397
+ CLOCK: [2013-09-13 金 16:26]--[2013-09-13 金 16:27] => 0:01
398
+ CLOCK: [2013-09-13 金 16:13]--[2013-09-13 金 16:26] => 0:13
399
+ CLOCK: [2013-09-13 金 16:07]--[2013-09-13 金 16:11] => 0:04
400
+ CLOCK: [2013-09-13 金 15:53]--[2013-09-13 金 15:54] => 0:01
401
+ CLOCK: [2013-09-13 金 15:45]--[2013-09-13 金 15:48] => 0:03
402
+ CLOCK: [2013-09-13 金 14:05]--[2013-09-13 金 15:43] => 1:38
403
+ CLOCK: [2013-09-13 金 13:25]--[2013-09-13 金 13:28] => 0:03
404
+ CLOCK: [2013-09-13 金 11:40]--[2013-09-13 金 11:56] => 0:16
405
+ CLOCK: [2013-09-13 金 11:27]--[2013-09-13 金 11:28] => 0:01
406
+ CLOCK: [2013-09-13 金 10:32]--[2013-09-13 金 10:33] => 0:01
407
+ CLOCK: [2013-09-13 金 10:27]--[2013-09-13 金 10:31] => 0:04
408
+ CLOCK: [2013-09-13 金 10:06]--[2013-09-13 金 10:07] => 0:01
409
+ CLOCK: [2013-09-13 金 09:59]--[2013-09-13 金 10:05] => 0:06
410
+ CLOCK: [2013-09-05 木 11:04]--[2013-09-05 木 11:05] => 0:01
411
+ :END:
412
+ :PROPERTIES:
413
+ :ARCHIVE_TIME: 2013-09-19 木 14:19
414
+ :ARCHIVE_FILE: ~/play/pio/pio.org
415
+ :ARCHIVE_OLPATH: Research and Development
416
+ :ARCHIVE_CATEGORY: pio
417
+ :ARCHIVE_TODO: DONE
418
+ :ARCHIVE_ITAGS: PIO
419
+ :END:
420
+ [2013-09-05 木 11:04]
421
+ ** DONE 実機で検証
422
+ CLOSED: [2013-09-19 木 13:56]
423
+ - State "DONE" from "WAITING" [2013-09-19 木 13:56]
424
+ - State "WAITING" from "TODO" [2013-09-18 水 12:00] \\
425
+ 近藤さんに再度実機でのテストを依頼中。
426
+ :LOGBOOK:
427
+ CLOCK: [2013-09-06 金 16:05]--[2013-09-06 金 16:06] => 0:01
428
+ :END:
429
+ [2013-09-06 金 16:05]
430
+
431
+ 近藤さんが実機検証環境を作り中。
432
+
433
+ その上で Arp Request をつかまえてパースしたり、Arp Request を送るだけの
434
+ 簡単なコントローラを動かし、しばらく動かしてバグがないかを確認してもら
435
+ う。
436
+
437
+ もし何か問題があれば、コードにフィードバックする。
438
+
439
+ *** DONE 実機環境を構築
440
+ CLOSED: [2013-09-18 水 12:00]
441
+ [2013-09-13 金 09:44]
442
+ ** DONE Arp::{Request,Reply} の #mandatory_options をリファクタリング
443
+ CLOSED: [2013-09-19 木 10:29] SCHEDULED: <2013-09-19 木>
444
+ :LOGBOOK:
445
+ CLOCK: [2013-09-19 木 10:23]--[2013-09-19 木 10:29] => 0:06
446
+ CLOCK: [2013-09-19 木 10:07]--[2013-09-19 木 10:08] => 0:01
447
+ :END:
448
+ :PROPERTIES:
449
+ :Effort: 0:30
450
+ :END:
451
+ [2013-09-19 木 10:07]
452
+
453
+ 今の実装だと、「必須オプション」と「それぞれの型」という 2 つの情報が
454
+ 入ってしまっている。「それぞれの型」の情報は、Arp::Message に引き上げ
455
+ たほうがいいと思う。
456
+ ** DONE FlayTask が正しく動いてるか確認
457
+ CLOSED: [2013-09-18 水 17:17] SCHEDULED: <2013-09-18 水>
458
+ [2013-09-18 水 16:54]
459
+
460
+ 最小の FlayTask だけを含んだ Rakefile を作ってみたけどやっぱりダメだっ
461
+ た。なぜか verbose = trueにしたときだけレポートが表示される。FlayTask
462
+ のバグか?
463
+ ** DONE 近藤さんからもらったキャプチャデータを試す
464
+ CLOSED: [2013-09-18 水 16:35] SCHEDULED: <2013-09-18 水>
465
+ :LOGBOOK:
466
+ CLOCK: [2013-09-18 水 16:24]--[2013-09-18 水 16:35] => 0:11
467
+ :END:
468
+ :PROPERTIES:
469
+ :Effort: 1:00
470
+ :END:
471
+ [2013-09-18 水 15:04]
472
+
473
+ https://gist.github.com/shun159/6604955
474
+ ** DONE ruby_topology を新しい Lldp.new に合わせて直す
475
+ CLOSED: [2013-09-18 水 11:12] SCHEDULED: <2013-09-18 水>
476
+ :LOGBOOK:
477
+ CLOCK: [2013-09-18 水 10:45]--[2013-09-18 水 11:12] => 0:27
478
+ CLOCK: [2013-09-17 火 22:45]--[2013-09-17 火 22:46] => 0:01
479
+ :END:
480
+ :PROPERTIES:
481
+ :Effort: 0:30
482
+ :END:
483
+ [2013-09-17 火 22:45]
484
+ ** DONE README.md に ARP の例を追加
485
+ CLOSED: [2013-09-18 水 10:19] SCHEDULED: <2013-09-18 水>
486
+ [2013-09-13 金 16:29]
487
+
488
+ できれば .org から tangle して生成したいけどそれはまた今度の話?
489
+ ** DONE ARP のオプション処理をリファクタリング
490
+ CLOSED: [2013-09-18 水 10:07] SCHEDULED: <2013-09-18 水>
491
+ :LOGBOOK:
492
+ CLOCK: [2013-09-18 水 09:19]--[2013-09-18 水 10:07] => 0:48
493
+ :END:
494
+ :PROPERTIES:
495
+ :Effort: 0:30
496
+ :END:
497
+ [2013-09-18 水 09:17]
498
+ ** DONE require "pio" ですべてロードされるようにする
499
+ CLOSED: [2013-09-17 火 15:20] SCHEDULED: <2013-09-17 火>
500
+ :LOGBOOK:
501
+ CLOCK: [2013-09-13 金 16:27]--[2013-09-13 金 16:28] => 0:01
502
+ :END:
503
+ [2013-09-13 金 16:27]
504
+
505
+ README.md にはそのように書いてあるけど、実際にはそうなっていない。
506
+ ** DONE Lldp のリファクタリング
507
+ CLOSED: [2013-09-17 火 23:01] SCHEDULED: <2013-09-17 火>
508
+ [2013-09-13 金 16:26]
509
+
510
+ ARP のテストのように Lldp.new と Lldp.read のテストだけに絞ってシンプル
511
+ にする。
512
+
513
+ *** DONE lldp_spec.rb にパーサのテストを補強
514
+ CLOSED: [2013-09-17 火 14:27] SCHEDULED: <2013-09-17 火>
515
+ :LOGBOOK:
516
+ CLOCK: [2013-09-17 火 11:08]--[2013-09-17 火 14:27] => 3:19
517
+ CLOCK: [2013-09-17 火 10:52]--[2013-09-17 火 10:53] => 0:01
518
+ :END:
519
+ :PROPERTIES:
520
+ :Effort: 0:30
521
+ :END:
522
+ [2013-09-17 火 10:52]
523
+ *** DONE lldp_spec.rb にジェネレータのテストを補強
524
+ CLOSED: [2013-09-17 火 17:43] SCHEDULED: <2013-09-17 火>
525
+ :LOGBOOK:
526
+ CLOCK: [2013-09-17 火 10:53]--[2013-09-17 火 10:54] => 0:01
527
+ :END:
528
+ :PROPERTIES:
529
+ :Effort: 2:00
530
+ :END:
531
+ [2013-09-17 火 10:53]
532
+ *** DONE README.md の Lldp の使いかたを更新
533
+ CLOSED: [2013-09-17 火 17:50] SCHEDULED: <2013-09-17 火>
534
+ :LOGBOOK:
535
+ CLOCK: [2013-09-17 火 17:45]--[2013-09-17 火 17:46] => 0:01
536
+ :END:
537
+ [2013-09-17 火 17:45]
538
+ *** DONE rake quality の警告をつぶす
539
+ CLOSED: [2013-09-17 火 21:58] SCHEDULED: <2013-09-17 火>
540
+ :LOGBOOK:
541
+ CLOCK: [2013-09-17 火 21:33]--[2013-09-17 火 21:58] => 0:25
542
+ :END:
543
+ [2013-09-17 火 21:32]
544
+ *** DONE rake spec のエラーを直す
545
+ CLOSED: [2013-09-17 火 22:06] SCHEDULED: <2013-09-17 火>
546
+ :LOGBOOK:
547
+ CLOCK: [2013-09-17 火 22:04]--[2013-09-17 火 22:06] => 0:02
548
+ CLOCK: [2013-09-17 火 22:02]--[2013-09-17 火 22:03] => 0:01
549
+ :END:
550
+ [2013-09-17 火 22:02]
551
+
552
+ 2.0 系だけ?MacBook Air で実行したら次のエラーが出た。
553
+
554
+ #+BEGIN_SRC shell
555
+ /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)
556
+ from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/json.rb:16:in `dump'
557
+ 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'
558
+ from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/result_merger.rb:68:in `open'
559
+ from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/result_merger.rb:68:in `store_result'
560
+ from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov.rb:48:in `result'
561
+ 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'
562
+ from /Users/yasuhito/.rvm/gems/ruby-2.0.0-p247/gems/simplecov-0.7.1/lib/simplecov/defaults.rb:52:in `call'
563
+ 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)>'
564
+ /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
565
+ #+END_SRC
566
+ *** DONE いらないテストを消す
567
+ CLOSED: [2013-09-17 火 22:08] SCHEDULED: <2013-09-17 火>
568
+ :LOGBOOK:
569
+ CLOCK: [2013-09-17 火 22:06]--[2013-09-17 火 22:07] => 0:01
570
+ :END:
571
+ [2013-09-17 火 22:06]
572
+ ** DONE quality タスクの description を追加
573
+ CLOSED: [2013-09-13 金 16:13] SCHEDULED: <2013-09-13 金>
574
+ :LOGBOOK:
575
+ CLOCK: [2013-09-13 金 16:11]--[2013-09-13 金 16:13] => 0:02
576
+ :END:
577
+ [2013-09-05 木 21:32]
578
+ ** DONE Pio::Mac のテストコードを Trema から移植
579
+ CLOSED: [2013-09-13 金 16:07] SCHEDULED: <2013-09-13 金>
580
+ :LOGBOOK:
581
+ CLOCK: [2013-09-13 金 15:54]--[2013-09-13 金 16:07] => 0:13
582
+ CLOCK: [2013-09-13 金 15:44]--[2013-09-13 金 15:45] => 0:01
583
+ :END:
584
+ [2013-09-13 金 15:44]
585
+ ** DONE Pio::IP のテストコードを Trema から移植
586
+ CLOSED: [2013-09-13 金 15:53] SCHEDULED: <2013-09-13 金>
587
+ :LOGBOOK:
588
+ CLOCK: [2013-09-13 金 15:48]--[2013-09-13 金 15:53] => 0:05
589
+ CLOCK: [2013-09-13 金 15:43]--[2013-09-13 金 15:44] => 0:01
590
+ :END:
591
+ [2013-09-13 金 15:43]
592
+ ** DONE Pio::Arp::Reply#initialize の flog 警告を直す
593
+ CLOSED: [2013-09-13 金 13:25] SCHEDULED: <2013-09-13 金>
594
+ :LOGBOOK:
595
+ CLOCK: [2013-09-13 金 11:56]--[2013-09-13 金 13:25] => 1:29
596
+ CLOCK: [2013-09-13 金 10:31]--[2013-09-13 金 10:32] => 0:01
597
+ :END:
598
+ [2013-09-13 金 10:31]
599
+ ** DONE Pio::Arp::Request#initialize の flog 警告を直す
600
+ CLOSED: [2013-09-13 金 11:27] SCHEDULED: <2013-09-13 金>
601
+ :LOGBOOK:
602
+ CLOCK: [2013-09-13 金 10:33]--[2013-09-13 金 11:27] => 0:54
603
+ :END:
604
+ [2013-09-13 金 10:32]
605
+ ** DONE Pio::IP#prefixlen の reek 警告部分を直す
606
+ CLOSED: [2013-09-13 金 10:27] SCHEDULED: <2013-09-13 金>
607
+ :LOGBOOK:
608
+ CLOCK: [2013-09-13 金 10:07]--[2013-09-13 金 10:27] => 0:20
609
+ CLOCK: [2013-09-13 金 10:05]--[2013-09-13 金 10:06] => 0:01
610
+ :END:
611
+ [2013-09-13 金 10:05]
612
+
613
+ 次の警告が出ている。
614
+
615
+ #+BEGIN_SRC shell
616
+ % rake quality
617
+ lib/pio/ip.rb -- 3 warnings:
618
+ Pio::IP#prefixlen has approx 6 statements (TooManyStatements)
619
+ Pio::IP#prefixlen refers to mask more than self (FeatureEnvy)
620
+ Pio::IP#prefixlen refers to range more than self (FeatureEnvy)
621
+ 3 total warnings
622
+ #+END_SRC
623
+ ** DONE rake quality が最後まで走るようにする
624
+ CLOSED: [2013-09-13 金 09:59] SCHEDULED: <2013-09-13 金>
625
+ :LOGBOOK:
626
+ CLOCK: [2013-09-13 金 09:57]--[2013-09-13 金 09:59] => 0:02
627
+ CLOCK: [2013-09-13 金 09:50]--[2013-09-13 金 09:51] => 0:01
628
+ :END:
629
+ [2013-09-13 金 09:50]
630
+
631
+ いまの reek, flog タスク等は問題があったときに例外を上げてそこで止まっ
632
+ てしまうので、次のタスクに行かない。そうではなくて、エラーメッセージだ
633
+ け出して quality タスク全体をひととおり実行するように直す。
634
+ ** DONE ARP パーサを作る (Pio::Arp.read)
635
+ CLOSED: [2013-09-12 木 14:57]
636
+ [2013-08-02 金 17:19]
637
+ *** DONE rake quality にかける
638
+ CLOSED: [2013-09-12 木 11:48] SCHEDULED: <2013-09-12 木>
639
+ [2013-09-12 木 09:09]
640
+ *** DONE RSpec の見直し
641
+ CLOSED: [2013-09-12 木 11:36] SCHEDULED: <2013-09-12 木>
642
+ :LOGBOOK:
643
+ CLOCK: [2013-09-12 木 10:30]--[2013-09-12 木 11:36] => 1:06
644
+ CLOCK: [2013-09-11 水 21:36]--[2013-09-11 水 21:37] => 0:01
645
+ :END:
646
+ [2013-09-11 水 21:36]
647
+
648
+ ここに書いてあるベストプラクティスを参考に、ひととおり見直す。
649
+ http://betterspecs.org/jp/
650
+ *** DONE Arp.read でパースした結果の各フィールドのテストを追加
651
+ CLOSED: [2013-09-12 木 10:08] SCHEDULED: <2013-09-12 木>
652
+ [2013-09-11 水 15:47]
653
+ *** DONE pio/lldp/mac-address.rb -> pio/mac-address.rb に変更
654
+ CLOSED: [2013-09-09 月 13:52]
655
+ :LOGBOOK:
656
+ CLOCK: [2013-09-06 金 16:02]--[2013-09-06 金 16:03] => 0:01
657
+ :END:
658
+ [2013-09-06 金 16:02]
659
+ *** DONE ARP Reply のテストを追加
660
+ CLOSED: [2013-09-09 月 14:17] SCHEDULED: <2013-09-09 月>
661
+ [2013-09-06 金 16:04]
662
+ *** DONE operation の値で ArpRequest と ArpReply クラスを変える
663
+ CLOSED: [2013-09-11 水 14:30]
664
+ :LOGBOOK:
665
+ CLOCK: [2013-09-06 金 16:23]--[2013-09-06 金 16:24] => 0:01
666
+ :END:
667
+ [2013-09-06 金 16:23]
668
+ *** DONE 金曜日分の作業を近藤さんリポジトリに push する
669
+ CLOSED: [2013-09-06 金 16:22]
670
+ :LOGBOOK:
671
+ CLOCK: [2013-09-06 金 16:14]--[2013-09-06 金 16:15] => 0:01
672
+ :END:
673
+ [2013-09-06 金 16:14]
674
+ *** DONE Arp.read で ArpRequest or ArpReply が返ってくる部分のテストを書く
675
+ CLOSED: [2013-09-11 水 14:30]
676
+ [2013-09-11 水 14:10]
677
+ *** DONE いらないファイルがないか探して消す
678
+ CLOSED: [2013-09-11 水 14:54]
679
+ [2013-09-09 月 14:19]
680
+ *** DONE lib/pio/arp/ip-address.rb -> lib/pio/type/ip-address.rb
681
+ CLOSED: [2013-09-11 水 15:45]
682
+ :LOGBOOK:
683
+ CLOCK: [2013-09-11 水 15:43]--[2013-09-11 水 15:44] => 0:01
684
+ :END:
685
+ [2013-09-11 水 15:43]
686
+ *** DONE lib/pio/mac-address.rb -> lib/pio/type/mac-address.rb
687
+ CLOSED: [2013-09-11 水 15:42]
688
+ :LOGBOOK:
689
+ CLOCK: [2013-09-11 水 15:38]--[2013-09-11 水 15:39] => 0:01
690
+ :END:
691
+ [2013-09-11 水 15:38]
692
+ *** DONE 調べる: ARP request と reply でパディングが付くのはどんなとき?
693
+ CLOSED: [2013-09-11 水 15:06]
694
+ :LOGBOOK:
695
+ CLOCK: [2013-09-09 月 14:02]--[2013-09-09 月 14:03] => 0:01
696
+ :END:
697
+ [2013-09-09 月 14:02]
698
+
699
+ 近藤さんが時間のあるときに調べる。
700
+ *** DONE リネーム ArpRequest -> Arp::Request
701
+ CLOSED: [2013-09-11 水 15:01]
702
+ [2013-09-11 水 14:56]
703
+ *** DONE リネーム ArpReply -> Arp::Reply
704
+ CLOSED: [2013-09-11 水 15:05]
705
+ [2013-09-11 水 14:57]
706
+ ** DONE Arp Request のジェネレータを作る (Pio::Arp::Request.new) :Request:
707
+ CLOSED: [2013-09-12 木 14:57]
708
+ :LOGBOOK:
709
+ CLOCK: [2013-09-10 火 11:36]--[2013-09-10 火 11:38] => 0:02
710
+ CLOCK: [2013-09-10 火 11:08]--[2013-09-10 火 11:10] => 0:02
711
+ CLOCK: [2013-09-10 火 10:47]--[2013-09-10 火 10:48] => 0:01
712
+ :END:
713
+ [2013-09-09 月 15:23]
714
+ *** DONE #to_binary を追加
715
+ CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
716
+ [2013-09-12 木 11:51]
717
+ *** DONE RSpec の見直し
718
+ CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
719
+ :LOGBOOK:
720
+ CLOCK: [2013-09-12 木 13:34]--[2013-09-12 木 14:09] => 0:35
721
+ CLOCK: [2013-09-11 水 21:36]--[2013-09-11 水 21:37] => 0:01
722
+ :END:
723
+ [2013-09-11 水 21:36]
724
+
725
+ ここに書いてあるベストプラクティスを参考に、ひととおり見直す。
726
+ http://betterspecs.org/jp/
727
+ *** DONE rake quality にかける
728
+ CLOSED: [2013-09-12 木 14:44] SCHEDULED: <2013-09-12 木>
729
+ [2013-09-12 木 08:47]
730
+ *** DONE Trema の IP アドレスクラスを持ってくる
731
+ CLOSED: [2013-09-11 水 14:05]
732
+ [2013-09-11 水 13:41]
733
+ *** DONE Trema の Mac クラスを Pio に持ってくる
734
+ CLOSED: [2013-09-11 水 13:40] SCHEDULED: <2013-09-11 水>
735
+ :LOGBOOK:
736
+ CLOCK: [2013-09-11 水 11:17]--[2013-09-11 水 11:18] => 0:01
737
+ :END:
738
+ [2013-09-11 水 11:17]
739
+ *** DONE #new に必須オプションが渡されてないときのエラー処理
740
+ CLOSED: [2013-09-11 水 11:03]
741
+ [2013-09-10 火 11:38]
742
+ *** DONE 整数 -> 8bit int の Array に変換するエレガントな書き方
743
+ CLOSED: [2013-09-10 火 11:36] SCHEDULED: <2013-09-10 火>
744
+ :LOGBOOK:
745
+ CLOCK: [2013-09-10 火 11:10]--[2013-09-10 火 11:36] => 0:26
746
+ :END:
747
+ [2013-09-09 月 17:13]
748
+ *** DONE IP アドレスを文字列で指定できるようにする
749
+ CLOSED: [2013-09-10 火 11:08] SCHEDULED: <2013-09-10 火>
750
+ :LOGBOOK:
751
+ CLOCK: [2013-09-10 火 10:48]--[2013-09-10 火 11:08] => 0:20
752
+ :END:
753
+ [2013-09-09 月 17:10]
754
+ *** DONE 00:00:00:00:00:00 な MAC アドレスの名前を調べる
755
+ CLOSED: [2013-09-10 火 10:47] SCHEDULED: <2013-09-10 火>
756
+ :LOGBOOK:
757
+ CLOCK: [2013-09-10 火 10:45]--[2013-09-10 火 10:47] => 0:02
758
+ :END:
759
+ [2013-09-09 月 15:53]
760
+ *** DONE MAC アドレスを文字列で指定できるようにする
761
+ CLOSED: [2013-09-09 月 17:10]
762
+ [2013-09-09 月 15:58]
763
+ *** DONE ARP Request を生成するテストを追加
764
+ CLOSED: [2013-09-09 月 15:56]
765
+ [2013-09-09 月 14:25]
766
+ ** DONE Arp Reply のジェネレータを作る (Pio::Arp::Reply.new) :Reply:
767
+ CLOSED: [2013-09-12 木 14:57]
768
+ [2013-09-09 月 15:26]
769
+ *** DONE #to_binary を追加
770
+ CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
771
+ [2013-09-12 木 11:51]
772
+ *** DONE RSpec の見直し
773
+ CLOSED: [2013-09-12 木 14:36] SCHEDULED: <2013-09-12 木>
774
+ :LOGBOOK:
775
+ CLOCK: [2013-09-12 木 14:09]--[2013-09-12 木 14:36] => 0:27
776
+ CLOCK: [2013-09-11 水 21:36]--[2013-09-11 水 21:37] => 0:01
777
+ :END:
778
+ [2013-09-11 水 21:36]
779
+
780
+ ここに書いてあるベストプラクティスを参考に、ひととおり見直す。
781
+ http://betterspecs.org/jp/
782
+ *** DONE rake quality にかける
783
+ CLOSED: [2013-09-12 木 14:44] SCHEDULED: <2013-09-12 木>
784
+ :LOGBOOK:
785
+ CLOCK: [2013-09-12 木 09:09]--[2013-09-12 木 09:10] => 0:01
786
+ :END:
787
+ [2013-09-12 木 09:09]
788
+ *** DONE ARP Reply を生成するテストを追加
789
+ [2013-09-09 月 14:27]
790
+ ** DONE Arp::Frame と Lldp::Frame の Ethernet ヘッダ部分を共通化
791
+ CLOSED: [2013-09-12 木 15:15] SCHEDULED: <2013-09-12 木>
792
+ :LOGBOOK:
793
+ CLOCK: [2013-09-12 木 14:58]--[2013-09-12 木 15:15] => 0:17
794
+ CLOCK: [2013-09-06 金 16:10]--[2013-09-06 金 16:13] => 0:03
795
+ :END:
796
+ [2013-09-06 金 16:10]
797
+
798
+ たとえば、以下のように 3 つのフィールドがひとつにまとまることになる。
799
+
800
+ #+BEGIN_SRC ruby
801
+ mac_address :destination_mac
802
+ mac_address :source_mac
803
+ uint16 :ether_type, :value => 0x0806
804
+
805
+ #=>
806
+
807
+ ethernet :ethernet
808
+ # or
809
+ ehternet :l2
810
+ #+END_SRC
811
+
812
+ みたいな感じ?
813
+ ** DONE Lldp の :ethertype -> :ether_type に名前を変更
814
+ CLOSED: [2013-09-12 木 15:18] SCHEDULED: <2013-09-12 木>
815
+ :LOGBOOK:
816
+ CLOCK: [2013-09-12 木 15:16]--[2013-09-12 木 15:18] => 0:02
817
+ CLOCK: [2013-09-06 金 20:38]--[2013-09-06 金 20:39] => 0:01
818
+ :END:
819
+ [2013-09-06 金 20:38]
820
+ ** DONE guard の "ambiguous option stat" を直す
821
+ CLOSED: [2013-09-12 木 09:35] SCHEDULED: <2013-09-12 木>
822
+ :LOGBOOK:
823
+ CLOCK: [2013-09-12 木 09:19]--[2013-09-12 木 09:35] => 0:16
824
+ CLOCK: [2013-09-12 木 09:16]--[2013-09-12 木 09:17] => 0:01
825
+ :END:
826
+ [2013-09-12 木 09:16]
827
+ ** DONE フィールド名を修正
828
+ :LOGBOOK:
829
+ CLOCK: [2013-09-10 火 14:46]--[2013-09-10 火 14:48] => 0:02
830
+ :END:
831
+ [2013-09-10 火 14:46]
832
+
833
+ - :source_hardware_address -> :sender_hardware_address
834
+ - :source_protocol_address -> :sender_protocol_address
835
+ ** DONE Arp::Request と Arp::Reply の共通部分をクラスに引き上げ
836
+ CLOSED: [2013-09-13 金 14:05] SCHEDULED: <2013-09-13 金>
837
+ :LOGBOOK:
838
+ CLOCK: [2013-09-13 金 13:28]--[2013-09-13 金 14:05] => 0:37
839
+ :END:
840
+ [2013-09-13 金 13:28]