Listeners
LDAP and LDAPS listeners accept client traffic, apply resource limits, and dispatch request bytes into the runtime.
Architecture
OpenDR separates network handling, protocol parsing, operation state, storage, replication, and monitoring into clear implementation boundaries.
Request flow
The current runtime validates transport, decodes BER, parses LDAP requests, dispatches operation state machines, and returns encoded LDAP responses.
LDAP and LDAPS listeners accept client traffic, apply resource limits, and dispatch request bytes into the runtime.
BER decoding, LDAP parsing, control validation, and message ID correlation keep protocol handling explicit.
Dedicated state machines handle auth, search, write, compare, extended operations, and replication sessions.
The backend validates schema, indexes attributes, commits writes transactionally, and serves low-latency reads from LMDB.
Replication
Provider writes are tracked in a bounded changelog. Consumers use an initial refresh, persist a replication cookie, and keep a live change stream open for follow-up updates.