inejge / ldap3

A pure-Rust LDAP library using the Tokio stack
Apache License 2.0
220 stars 38 forks source link

streaming_search() -> iterator #114

Closed Heiko-Zelt closed 11 months ago

Heiko-Zelt commented 11 months ago

Hello guys,

I need to map the result entries of a streaming_search(). I am new to rust/tokio and the ldap3 crate. I wonder, why doesn't streaming_search() return an iterator? So it would be easy to use in a for-in-loop or to map(), filter(), collect() the results.

Or how could I map the results or convert SearchStream into an iterator? Is there a code example?

Kind regards Heiko

inejge commented 11 months ago

Async iterators as such are still an unresolved question on the language level (see rust-lang/rust#79024). Search streams in LDAP are a simpler use case, but I wouldn't like to tie the library to some construct which might be incompatible with a later solution. Future directions notwithstanding, SearchStream can't be integrated with a regular iterator because its methods are async.