jonas-schievink/rubble

Implement AccessAddress generation

Open

#16 建立於 2019年3月20日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)Rust (403 star) (58 fork)user submission
area: link layerhelp wantedstatus: needs codetype: enhancement

描述

This is needed if the device wants to initiate a connection (by sending a connection request PDU), it is not needed if the device is just a peripheral that accepts a connection. It is specified in Part B 2.1.2 of Bluetooth Core v4.2.

Depends on #2.

Things that need to be done:

  • Create a struct AccessAddress(u32); newtype
  • Replace current uses of u32 for access addresses with the new type
    • The current advertising::ACCESS_ADDRESS constant can be replaced by an associated const AccessAddress::ADVERTISING
  • Implement Debug by hand and print the hex representation of the address
  • Implement a is_valid method that checks the requirements in the specification (also implement a lot of unit tests for this)
  • Implement a random constructor method that uses a rand_core::RngCore implementor to generate a random AccessAddress that adheres to the specified requirements

貢獻者指南

Implement AccessAddress generation · jonas-schievink/rubble#16 | Good First Issue