Projects
Wiki     Timeline     Roadmap     Browse Source     View Tickets     New Ticket     Search

Ticket #93 (new Defect)

Opened 4 years ago

Last modified 10 months ago

twistedcaldav.directory.idirectory interfaces should return Deferreds.

Reported by: dreid@… Owned by: glyph@…
Priority: 2: Expected Milestone: CalendarServer-3.x
Component: Calendar Server Severity: Other
Keywords: Cc:

Description

This will be essential for a pure LDAP backend using Ldaptor. Indeed it'll be necessary for any directory service using the network and the blocking appleopendirectory implementation should already be deferred to a thread to prevent blocking.

Change History

Changed 4 years ago by wsanchez@…

  • priority changed from 5: Not set to 2: Expected
  • status changed from new to assigned
  • milestone set to Preview 1

Changed 4 years ago by wsanchez@…

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.

Changed 4 years ago by wsanchez@…

  • milestone changed from Preview 1 to Version One

Changed 3 years ago by wsanchez@…

  • milestone changed from 1.0 to 2.0

Changed 10 months ago by wsanchez@…

  • milestone changed from CalendarServer-2.x to CalendarServer-3.x

Changed 10 months ago by wsanchez@…

  • owner changed from wsanchez@… to glyph@…
  • status changed from assigned to new
Note: See TracTickets for help on using tickets.