testing-message-queue

Installation
SKILL.md

Testing the Message Queue

This skill describes how to write tests for the bocpy message queue — the lock-free, tag-based MPSC ring buffer implemented in C that underlies send()/receive().

Architecture Overview

Component Detail
Queues 16 statically allocated ring buffers (BOC_QUEUE_COUNT = 16), each with capacity 16 384.
Tags String labels that map 1:1 to queues. Each unique tag occupies one queue slot.
Assignment modes Automatic (default): tags claim a queue on first send/receive. Explicit: set_tags() pre-assigns tags, clears all messages, and resets queues.
set_tags([]) Drains every queue, frees all tag associations, and sets all queues to UNASSIGNED — effectively restoring auto-assign mode.
Thread safety Enqueue is lock-free (atomic CAS on tail). Multiple threads can send to the same tag concurrently. receive spins on the queue with a sleep until a message is available or a timeout elapses.

Test File Location

Message queue tests live in test/test_message_queue.py.

Installs
1
Repository
microsoft/bocpy
GitHub Stars
201
First Seen
2 days ago