[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: redesigning the client API
Some other wishes - not sure of what you'd think of as part of one of
the other APIs, and what you'd think of as a separate API:
- Event loop support:
Ability to plug ldap into an event loop, so e.g. incoming LDAP
results provide events.
E.g. via:
- Select():
Something like fd_set operators which take LDAP sessions or
directory sessions instead of file descriptors, so one can
select() and detect possible LDAP activity.
- Maybe asynchronous I/O.
Or at least keep the door open for it. I'm not sure if the
synchronous I/O is a problem in practice.
- Threading:
Ability for the user to access mutexes etc which the library uses to
protect resources outside the library, and also to make the library
use some other mutexes or semaphores (which some other library is
using to protects the same resource).
Not sure if it's possible to get this both right and convenient...
we can't know which resources are used by external libraries used by
ldap, so there must be some catch-all mutexes anyway.
- Character set conversion (or more generally, parsing, building and
conversion of attribute values and other LDAP protocol elements):
I know the discussion stranded last time, but I still think we need
some sort of support for this, in a way which doesn't require the
user to call a conversion function every time he gets or puts a
value from/to LDAP.
Would need to be schema-aware (when informed by user).
- Schema:
Need to be able to tie a schema to an LDAP result/operation/etc,
since different parts of the DIT may have different schemas.
--
Hallvard