Releases: amphp/sync
Releases · amphp/sync
2.3.0
What's Changed
- Fixed posix semaphore blocking thread when there is no space left on device by @azjezz in #29
- Added a buffer size parameter to
createChannelPair()to specify a number of items which may be buffered in memory before back pressure is applied.
New Contributors
Full Changelog: v2.2.0...v2.3.0
2.2.0
2.1.0
2.0.0
Stable 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.
Changes from 1.x
ConcurrentIteratorfunctions have been removed are now available as methods onPipelineinamphp/pipelineFileMutexhas been removed, as a better implementation ships as part ofamphp/file- Removed
ThreadedMutexandThreadedSemaphore - Removed
Lock::getId() Barrier::awaitsupports cancellation nowsynchronizedaccepts anySemaphorenow instead of aMutexonly- Added
Channelfromamphp/parallel, which allows two way communicate between execution contexts, such as two coroutines or two processes.Channelhas been modified to extendClosable - Also added
Parcelfromamphp/parallel, which allows sharing a value across execution contexts with mutually-exclusive access to modifying that value usingParcel::synchronized(). - Added
createChannelPair()function which returns a pair of connectedChannelobjects. - Added
RateLimitingSemaphorewhich releases locks after a given time elapses. - Added
StaticKeySemaphore, analogous toStaticKeyMutex
Changes from 2.0.0 Beta 6
- Added
RateLimitingSemaphorewhich releases locks after a given time elapses. - Added
StaticKeySemaphore, analogous toStaticKeyMutex
2.0.0 Beta 6
- Add compatibility with Revolt v1.x
2.0.0 Beta 5
- Fixed return type of
createChannelPair()to use the interface - Fixed close of channels returned from
createChannelPair() - Release locks synchronously instead of asynchronously on explicit
release()calls
2.0.0 Beta 4
- PHP 8.1 now required.
Channelnow extendsAmp\Closable, which adds anonClose()method to attach a closure that is invoked when the channel closes.
2.0.0 Beta 3
This release moves Channel and Parcel interfaces from amphp/parallel to this library.
Channelallows two way communicate between execution contexts, such as two coroutines or two processes.Parcelallows sharing a value across execution contexts, with mutually-exclusive access to modifying that value usingParcel::synchronized().
2.0.0 Beta 2
- Update to
revolt/event-loopv0.2.x (#20)
2.0.0 Beta 1
Note: This is a pre-release, there might be breaking changes in the final stable version.
- Major release avoiding promises in favor of fibers supported by Revolt
ConcurrentIteratorfunctions have been removed and will be available as operators inamphp/pipelineFileMutexhas been removed, as a better implementation ships as part ofamphp/file- Removed
ThreadedMutexandThreadedSemaphore - Removed
Lock::getId() Barrier::awaitsupports cancellation nowsynchronizedaccepts anySemaphorenow instead of aMutexonly