wedb_standalone 0.1.2

Standalone server foundation: RESP protocol, AOF logic layer, and node service orchestration
//! 字节数组比较器(对标 libs/server/Resp/ByteArrayComparer.cs)
//!
//! C# 为 IEqualityComparer<byte[]>(含 ReadOnlySpan 交替比较与字节哈希);
//! rust 侧字典键直接以 &[u8] 寻址,本结构承接相等判定面。

/// 字节数组比较器
#[derive(Debug, Default, Clone, Copy)]
pub struct ByteArrayComparer;

impl ByteArrayComparer {
  /// libs/server/Resp/ByteArrayComparer.cs:Equals
  ///
  /// 字节序列逐字节相等(C# ReadOnlySpan.SequenceEqual)
  pub fn equals(left: &[u8], right: &[u8]) -> bool {
    left == right
  }
}

#[cfg(test)]
mod tests {
  use super::*;

  #[test]
  fn equals_is_byte_sequence_equality() {
    assert!(ByteArrayComparer::equals(b"same", b"same"));
    assert!(!ByteArrayComparer::equals(b"same", b"other"));
    assert!(ByteArrayComparer::equals(b"", b""));
    // 长度不同即不等(前缀不等)
    assert!(!ByteArrayComparer::equals(b"pre", b"prefix"));
  }
}