# Glossary
Definitions of terms used in V-Queue documentation.
## A
### API (Application Programming Interface)
The HTTP REST interface provided by v-queue-server for interacting with queues.
### Async/Await
Asynchronous programming pattern used in the server implementation with Tokio runtime.
### Authentication
Security mechanism requiring username and password (HTTP Basic Auth) to access API endpoints.
### Axum
Rust web framework used to implement the HTTP server.
## B
### Batch Size
Number of messages returned in a single consume request. Configured via `max_messages` parameter (default is 1). The `default_batch_size` config setting is not currently used.
### Base Path
Root directory where queue data files are stored. Configured via `data_directory` setting.
### Binary Message
Message with type "object" containing raw binary data, not valid UTF-8 text.
## C
### Commit
Operation to save consumer's current read position, marking messages as processed.
### Consumer
Named entity that reads messages from a queue. Each consumer maintains independent read position.
### Consumer Offset
Current read position (byte offset) of a consumer within a queue partition.
### CRC32 (Cyclic Redundancy Check)
Checksum algorithm used to verify data integrity of messages.
## D
### Data Directory
File system directory where all queue data is stored. Default: `./queues`
### Durability
Guarantee that written messages are persisted to disk and survive crashes.
## E
### Endpoint
HTTP API URL path for specific operation (e.g., `/api/v1/queues`).
## F
### fsync
System call to flush file writes to physical storage, ensuring durability.
### File Lock
OS-level lock ensuring only one writer can access queue at a time.
## H
### Header
25-byte structure at the start of each message containing metadata (offset, length, CRC, etc).
### Health Check
API endpoint (`/health`) to verify server is running.
### HTTP Basic Authentication
Authentication method where credentials are sent in base64-encoded format in the `Authorization` header.
## I
### Individual
Semantic objects format used in some message processing (specific to semantic-machines ecosystem).
## J
### JNI (Java Native Interface)
Technology allowing Java code to call Rust library functions.
### JSON (JavaScript Object Notation)
Text format used for API requests and responses.
## L
### Long Polling
Technique where consume request waits (up to timeout) for new messages before returning.
### Lock File
File (`{queue}_queue.lock`) used to prevent concurrent write access to queue.
## M
### Message
Single data item stored in queue, consisting of header and body.
### Message Type
Classification of message content: "string" (UTF-8 text) or "object" (binary/structured data).
### Metadata File
Files containing queue or consumer state information (`_info_queue`, `_info_push`, etc).
## O
### Offset
Byte position within a queue partition. Used to track read/write positions.
## P
### Partition
Directory containing actual queue data for a specific time period. Named `{queue}-{id}`.
### Partition ID
Numeric identifier for a partition, increments when new partition is created.
### Producer
Application or service that writes messages to a queue.
### Push
Operation to write a new message to a queue.
## Q
### Queue
Named message storage container. Messages written by producers, read by consumers.
### Queue Manager
Server component that manages multiple queues and their consumers.
## R
### REST (Representational State Transfer)
Architectural style for HTTP APIs used by v-queue-server.
### Right Edge
Current write position (byte offset) in active partition.
## S
### Sequential I/O
Reading or writing data in order from beginning to end, optimized for disk performance.
### String Message
Message with type "string" containing UTF-8 text.
## T
### Timeout
Maximum time (in milliseconds) a consume request will wait for messages via `timeout_ms` parameter. 0 = return immediately.
### Tokio
Asynchronous runtime for Rust used by v-queue-server.
### TOML (Tom's Obvious, Minimal Language)
Configuration file format used by v-queue-server.
## Terminology Comparisons
### V-Queue vs Kafka
| Queue | Topic |
| Consumer | Consumer |
| Partition | Partition |
| Offset | Offset |
| Commit | Commit |
| Message | Record |
### V-Queue vs RabbitMQ
| Queue | Queue |
| Consumer | Consumer |
| Message | Message |
| Push | Publish |
| Commit | Acknowledge (ACK) |
### V-Queue vs Redis Streams
| Queue | Stream |
| Consumer | Consumer |
| Offset | ID |
| Commit | XACK |
| Message | Entry |
## File Extensions
### `.lock`
Lock file preventing concurrent writers.
### `_info_queue`
Queue metadata file (current partition ID).
### `_info_push`
Write metadata file (write position, message count).
### `_info_pop_{consumer}`
Consumer metadata file (read position).
### `_queue`
Actual message data file.
## Common Abbreviations
- **API** - Application Programming Interface
- **CRC** - Cyclic Redundancy Check
- **HTTP** - Hypertext Transfer Protocol
- **I/O** - Input/Output
- **JNI** - Java Native Interface
- **JSON** - JavaScript Object Notation
- **REST** - Representational State Transfer
- **SSD** - Solid State Drive
- **HDD** - Hard Disk Drive
- **TOML** - Tom's Obvious, Minimal Language
- **URL** - Uniform Resource Locator
- **UTF-8** - Unicode Transformation Format 8-bit
## Message Format Terms
### Magic Marker
Fixed value (0xEEEFFEEE) in message header used for validation.
### Count Pushed
Sequential counter of messages written to current partition.
### Message Length
Size of message body in bytes (not including header).
### Start Position
Absolute byte position where message begins in partition.
## Performance Terms
### Throughput
Number of messages or bytes processed per unit time (msg/sec or MB/sec).
### Latency
Time delay between operation start and completion.
### Sequential Access
Reading/writing data in order, achieving high performance on disk.
### Random Access
Reading/writing data in arbitrary order, typically slower than sequential.
## Next Steps
- [Overview](01-overview.md)
- [Architecture](02-architecture.md)
- [API Reference](05-api-reference.md)