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
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]