Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
twistedcaldav.directory.idirectory interfaces should return Deferreds. #79
Well, for long-latency directory services, we probably was a persistent cache that always returns a value right away, and a background thread which refreshes the cache if the server is actively using the directory.
The flaw in the current OpenDirectory implementation is that when the cache expires, we block again. We should instead do a background cache refresh and return what's current in the cache.
However, for services where caching may not be used (eg. XMLFile), a non-blocking API is probably appropriate.