v_queue 0.2.9

simple file based queue
Documentation
# V-Queue

Simple file based queue implementation in Rust with Java bindings and network server.

## Components

### Core Library (v-queue)
Fast file-based message queue with the following features:
- High-performance sequential file I/O
- CRC32 integrity checking  
- Automatic partitioning
- Consumer offset management
- Thread-safe concurrent access
- Java bindings via JNI

### Network Server (v-queue-server)
**NEW**: HTTP/REST API server providing consumer endpoints for the v-queue system.

Features:
- RESTful HTTP API
- Consumer endpoints with automatic offset management
- Administrative endpoints for queue/consumer management
- Health monitoring
- JSON message format
- Multiple concurrent consumers per queue
- Cross-platform compatibility
- **Note**: Message production requires direct library access (no HTTP producer API)

## Quick Start

### Build Core Library
```bash
cargo build --release
```

### Build and Run Network Server
```bash
cd v-queue-server
cargo run -- --bind 0.0.0.0:9093 --data-dir ./queues --log-level info
```

### API Examples

```bash
# Health check (no auth required)
curl http://localhost:9093/health

# List available queues (auth required if enabled)
curl -u admin:password http://localhost:9093/api/v1/queues

# Consume messages from existing queue
curl -u admin:password \
  "http://localhost:9093/api/v1/queues/events/consumers/my-consumer/messages?max_messages=10"

# Commit consumer position
curl -X POST -u admin:password \
  http://localhost:9093/api/v1/queues/events/consumers/my-consumer/commit

# Get queue information
curl -u admin:password http://localhost:9093/api/v1/queues/events
```

**Note**: If authentication is disabled (`auth_enabled = false` or `--no-auth`), you can omit the `-u admin:password` part.

## Documentation

- [Network Server Documentation]v-queue-server/README.md - Complete API reference and client examples
- [Java Examples]java/example-vqueue/ - JNI usage examples

## Performance

- **High Throughput**: Optimized for sequential disk I/O
- **Low Latency**: Direct file access without additional layers
- **Persistence**: All data durably stored on disk
- **Recovery**: Automatic crash recovery and consistency

## License

MIT License - see LICENSE file for details.