API Reference
Complete API documentation for libevpl organized by functional area.
Core APIs
- Core API - Event loop management, initialization, and protocol queries
- Configuration API - Global and thread-local configuration
- Binds & Connections - Creating connections, sending/receiving data
- Endpoints API - Network address and port management
- Memory API - Buffer allocation and management
- Timer API - Scheduled callbacks and timeouts
- Deferral API - Deferred task execution
- Doorbell API - Inter-thread notifications
- Threading API - Thread creation and thread pools
- Block I/O API - High-performance storage operations (io_uring, VFIO-NVMe)
- RDMA API - RDMA-specific functionality
- Logging API - Logging and diagnostics
Protocol Modules
Quick Reference
Including Headers
All core APIs are accessed through a single header:
#include <evpl/evpl.h>
Protocols have their own additional header:
#include <evpl/evpl_http.h>
#include <evpl/evpl_rpc2.h>
Error Handling
Most functions return:
- Pointers:
NULLon failure - Integers:
-1or negative on error,0or positive on success - void: No return value (errors signaled via callbacks)
Always check return values and handle errors appropriately.
Thread Safety
- Each event loop is single-threaded
- Use async events for thread processing, don’t block in the event loop.
- Use doorbells for inter-thread communication
- Listeners can be attached to multiple threads
See Also
- Getting Started - Quick tutorial
- Architecture - Understanding core concepts
- Programming Guide - Best practices
- Examples - Complete working code samples