OUCH 5.0 Client Library#
Production-ready C++ client library for the Nasdaq OUCH 5.0 protocol.
Quick Links#
Getting Started - Start here to learn about the library
API Reference - Complete API documentation
Protocol Specification - OUCH 5.0 protocol details
Examples - Code examples and tutorials
Guides - Best practices and guidelines
Features#
Type-Safe API: Strongly-typed message classes with compile-time checking
Thread-Safe Design: Clear thread safety model with IOContext-based event loop
Message Buffering: Optional retransmission support for reliable message delivery
UserRefNum Management: Automatic strictly-increasing reference number generation
TagValue Support: Full support for variable-length message appendages
Zero Runtime Dependencies: All dependencies statically linked
Getting Started#
#include <nasdaq/ouch50/Session.h>
#include <nasdaq/ouch50/net/IOContext.h>
using namespace b2bits::nasdaq::ouch5;
// Create IO context
auto io_ctx = std::make_shared<IOContext>(IOContext::Settings{"main", 0, false});
io_ctx->start();
// Configure session
Settings settings;
settings.transport_.username_ = "TRADER01";
settings.transport_.password_ = "password123";
settings.transport_.remote_a_ = Endpoint{"host", port};
settings.initial_user_ref_num_ = 1;
// Create session
Session session(io_ctx, settings);
// Login and start trading
session.login("", 0, std::chrono::milliseconds(2000));
See the Quick Start Guide for a complete example.
Documentation#
This documentation covers:
Getting Started: Installation, configuration, and basic usage
API Reference: Complete API documentation for all classes and methods
Protocol Specification: Detailed OUCH 5.0 protocol reference
Examples: Working code examples for common scenarios
Guides: Thread safety, error handling, and best practices
License#
Copyright © 2026 EPAM B2Bits. OUCH 5.0 Documentation