//! BitTorrent peer identifier.
/// A 20-byte BitTorrent peer identifier.
///
/// The peer ID uniquely identifies a BitTorrent client in announce requests.
/// It is generated by the client and typically encodes the client name and version.
///
/// # Structure
///
/// The peer ID is exactly 20 bytes. Many clients use a standard format:
/// - Azureus-style: `-XX0000-xxxxxxxxxxxx` (e.g., `-qB4500-...` for qBittorrent 4.5.0)
/// - Shadow-style: `M0-0-0--xxxxxxxxxxxx` (e.g., `M7-0-0--...` for Mainline 7.0.0)
///
/// # Example
///
/// ```rust
/// use torrust_actix::tracker::structs::peer_id::PeerId;
///
/// // Create from a 20-byte array
/// let peer = PeerId([0u8; 20]);
///
/// // Access the underlying bytes
/// let bytes: &[u8; 20] = &peer.0;
/// ```
;