[YANGTOOLS-1016] Generalize QueuedNotificationManager Created: 17/Aug/19  Updated: 21/Dec/23

Status: Confirmed
Project: yangtools
Component/s: None
Affects Version/s: None
Fix Version/s: 14.0.0

Type: New Feature Priority: Medium
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Sub-Tasks:
Key
Summary
Type
Status
Assignee
YANGTOOLS-1038 Provide Equality-based QueuedNotifica... Sub-task Resolved Robert Varga  

 Description   

QueuedNotificationManager is a useful utility for scheduling in-order execution of tasks. Unfortunately its design is heavily affected by the use case it comes from, which limit its usefulness:

  1. listener keys work on identities, which prevents common equality to be used – not all potential users can work with identities reasonable (i.e. they have to do String.intern())
  2. there is no provision to control timing of submission of individual entries, i.e. users cannot specify a timeout for single task submission
  3. there is no provision to return tasks not published within a certain deadline

 

Address these issues by generalizing these use cases into a new class and make QueuedNotificationManager a special-case of that class.


Generated at Wed Feb 07 20:54:56 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.