| 875 | } |
| 876 | |
| 877 | void addMACToCache(const String &mac) { |
| 878 | if (!macRingBuffer) return; |
| 879 | if (xRingbufferGetCurFreeSize(macRingBuffer) < mac.length() + 1) { |
| 880 | size_t itemSize; |
| 881 | char *oldItem = (char *)xRingbufferReceive(macRingBuffer, &itemSize, 0); |
| 882 | if (oldItem) vRingbufferReturnItem(macRingBuffer, oldItem); |
| 883 | } |
| 884 | xRingbufferSend(macRingBuffer, mac.c_str(), mac.length() + 1, pdMS_TO_TICKS(100)); |
| 885 | } |
| 886 | |
| 887 | uint32_t generateClientFingerprint(const uint8_t *frame, int len) { |
| 888 | uint32_t hash = 5381; |