name: SemaphoreFactory class_comment: "# * Factory provides method to create semaphores.\n# *\n# * @author\ \ Gr\xE9goire Pineau \n# * @author J\xE9r\xE9my Deruss\xE9 \n\ # * @author Hamza Amrouche " dependencies: - name: LoggerAwareInterface type: class source: Psr\Log\LoggerAwareInterface - name: LoggerAwareTrait type: class source: Psr\Log\LoggerAwareTrait - name: LoggerAwareTrait type: class source: LoggerAwareTrait properties: [] methods: - name: createSemaphore visibility: public parameters: - name: resource - name: limit - name: weight default: '1' - name: ttlInSecond default: '300.0' - name: autoRelease default: 'true' comment: "# * Factory provides method to create semaphores.\n# *\n# * @author Gr\xE9\ goire Pineau \n# * @author J\xE9r\xE9my Deruss\xE9 \n\ # * @author Hamza Amrouche \n# */\n# class SemaphoreFactory\ \ implements LoggerAwareInterface\n# {\n# use LoggerAwareTrait;\n# \n# public\ \ function __construct(\n# private PersistingStoreInterface $store,\n# ) {\n#\ \ }\n# \n# /**\n# * @param float|null $ttlInSecond Maximum expected semaphore\ \ duration in seconds\n# * @param bool $autoRelease Whether to automatically\ \ release the semaphore or not when the semaphore instance is destroyed" - name: createSemaphoreFromKey visibility: public parameters: - name: key - name: ttlInSecond default: '300.0' - name: autoRelease default: 'true' comment: '# * @param float|null $ttlInSecond Maximum expected semaphore duration in seconds # * @param bool $autoRelease Whether to automatically release the semaphore or not when the semaphore instance is destroyed' traits: - Psr\Log\LoggerAwareInterface - Psr\Log\LoggerAwareTrait - LoggerAwareTrait interfaces: - LoggerAwareInterface