-
Notifications
You must be signed in to change notification settings - Fork 131
Support concurrency of multiple RDATE together with RRULE directives. #716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Support concurrency of multiple RDATE together with RRULE directives. #716
Conversation
Signed-off-by: Claus-Justus Heine <[email protected]>
Actually, the changes to the |
Nope, it ain't that easy. However, this is also due to the current code base. If the current event DTSTART refers to a date after the dates defined by an RDATE rule, then the ordering of the values returned by the current This also means that further changes would be needed. The RDate iterator has to take care of this. |
RDATE is an execption. We do not have control over the point in time where the exception is scheduled and hence should not assume that is is always after DTSTART.
…TART is the earliest date. It should also not assume that the list of dates is sorted at all.
Signed-off-by: Claus-Justus Heine <[email protected]>
This PR address #347 and its duplicate #700. The commit also adds a test. The idea is to maintain an array of iterators, compare their current values and pick the smallest one in next(). Then all iterators matching the timestamp value of the chosen DateTime are advanced, which the others which may be invalid or have their individual current values still ahead of time are kept at their position.
I have added a test (with one RRULE and RDATES which are placed "out of order").