boto / s3transfer

Amazon S3 Transfer Manager for Python
Apache License 2.0
209 stars 133 forks source link

SlidingWindowSemaphore uses TaskSemaphore as a base class #251

Open cfxegbert opened 1 year ago

cfxegbert commented 1 year ago

SlidingWindowSemaphore inherits TaskSemaphore but overrides all of its methods. TaskSemaphore has a _semaphore member variable which is not used by SlidingWindowSemaphore. __init__ is never called on the base class so the member is not created but could cause future maintenance headaches.

A new base interface class needs to be created or just use duck typing for the semaphore classes.