NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #319 most downloaded on Packagist
Non-blocking synchronization primitives for PHP based on Amp and Revolt.
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 6 weeks to 1.5 years
Some releases are documented
notes for 4 of 12 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
18 releases · first in 2017
Fixed posix semaphore blocking thread when there is no space left on device by @azjezz in #29
createChannelPair() to specify a number of items which may be buffered in memory before back pressure is applied.Full Changelog: v2.2.0...v2.3.0
One column per quarter.
Add PriorityQueue by @trowski in #27
Added re-entry support to synchronized() by @kelunik in #26
Channel now extends Amp\Closable , which adds an onClose() method to attach a closure that is invoked when the channel closes.
Channel now extends Amp\Closable, which adds an onClose() method to attach a closure that is invoked when the channel closes.This release moves Channel and Parcel interfaces from amphp/parallel to this library.
Channel allows two way communicate between execution contexts, such as two coroutines or two processes.Parcel allows sharing a value across execution contexts, with mutually-exclusive access to modifying that value using Parcel::synchronized().Note: This is a pre-release, there might be breaking changes in the final stable version.
ConcurrentIterator functions have been removed and will be available as operators in amphp/pipelineFileMutex has been removed, as a better implementation ships as part of amphp/fileThreadedMutex and ThreadedSemaphoreLock::getId()Barrier::await supports cancellation nowsynchronized accepts any Semaphore now instead of a Mutex onlyStable release compatible with AMPHP v3 and fibers! 🎉
As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.
ConcurrentIterator functions have been removed are now available as methods on Pipeline in amphp/pipelineFileMutex has been removed, as a better implementation ships as part of amphp/fileThreadedMutex and ThreadedSemaphoreLock::getId()Barrier::await supports cancellation nowsynchronized accepts any Semaphore now instead of a Mutex onlyChannel from amphp/parallel, which allows two way communicate between execution contexts, such as two coroutines or two processes. Channel has been modified to extend ClosableParcel from amphp/parallel, which allows sharing a value across execution contexts with mutually-exclusive access to modifying that value using Parcel::synchronized().createChannelPair() function which returns a pair of connected Channel objects.RateLimitingSemaphore which releases locks after a given time elapses.StaticKeySemaphore, analogous to StaticKeyMutexRateLimitingSemaphore which releases locks after a given time elapses.StaticKeySemaphore, analogous to StaticKeyMutexcreateChannelPair() to use the interfacecreateChannelPair()release() callsNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →