fred icon indicating copy to clipboard operation
fred copied to clipboard

Improve MultiValueTable

Open venfernand opened this issue 2 years ago • 4 comments

MultiValueTable previously used HashTable class internally and all access methods required to be synchronized. This solution was replaced with ConcurrentHashMap and CopyOnWriteArrayList, which may be accessed concurrently and with less synchronization.

Also changed some methods, which used older collection APIs.

Improved usages of MultiValueTable.

Signed-off-by: Veniamin Fernandes [email protected]

venfernand avatar Feb 12 '23 11:02 venfernand

@venfernand thank you for your pull request! This makes the code much nicer.

To ensure that this does not break plugins, it needs to preserve all existing API, so to be able to merge it, this needs shims for all previously existing public methods and constructors.

ArneBab avatar Apr 12 '23 07:04 ArneBab

@venfernand will you add the shims to preserve the existing API?

ArneBab avatar May 23 '23 06:05 ArneBab

@venfernand will you add the shims to preserve the existing API?

Sorry for being too distructive. I restored all previous public API in MultiValueTable and marked some methods as @Deprecated to speed up transition to newer methods.

venfernand avatar Oct 08 '23 08:10 venfernand

I added some more fixes.

venfernand avatar Oct 20 '23 20:10 venfernand

@bertm is this ready to be merged, now?

@venfernand can you merge next into your branch and resolve the conlicts?

ArneBab avatar Nov 30 '24 10:11 ArneBab

merged after resolving conflicts. Waiting longer would only increase the amount of conflicts.

ArneBab avatar Nov 30 '24 14:11 ArneBab

@venfernand thank you for your PR!

ArneBab avatar Nov 30 '24 14:11 ArneBab