U
    ÷	Àhç  ã                   @   sT   d Z ddlmZ G dd„ deƒZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZdS )z¾
Custom Throttling Classes for Stream Processor API

This module provides specialized throttling classes for different
API endpoints based on their usage patterns and security requirements.
é    )ÚUserRateThrottlec                   @   s   e Zd ZdZdZdS )ÚStreamControlThrottlez¼
    Throttle for stream control operations (start/stop).
    
    More restrictive rate limiting for resource-intensive operations
    that directly control stream capture processes.
    Ústream_controlN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úscope© r   r   ú8/var/www/html/JingleDetector/src/apps/core/throttling.pyr      s   r   c                   @   s   e Zd ZdZdZdS )ÚDetectionAPIThrottlez§
    Throttle for jingle detection API endpoints.
    
    Moderate rate limiting for detection-related operations
    that involve image processing and analysis.
    Údetection_apiNr   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdZdS )ÚNotificationAPIThrottlez‘
    Throttle for notification API endpoints.
    
    Conservative rate limiting for notification operations
    to prevent spam and abuse.
    Únotification_apiNr   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdZdZdS )ÚBurstRateThrottlez…
    Short-term burst protection for high-frequency operations.
    
    Allows for burst activity but prevents sustained abuse.
    Zburstz
100/minuteN)r   r   r   r	   r
   Úrater   r   r   r   r   )   s   r   N)r	   Zrest_framework.throttlingr   r   r   r   r   r   r   r   r   Ú<module>   s
   


