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
ConcurrentIterator
functions have been removed are now available as methods onPipeline
inamphp/pipeline
FileMutex
has been removed, as a better implementation ships as part ofamphp/file
- Removed
ThreadedMutex
andThreadedSemaphore
- Removed
Lock::getId()
Barrier::await
supports cancellation nowsynchronized
accepts anySemaphore
now instead of aMutex
only- Added
Channel
fromamphp/parallel
, which allows two way communicate between execution contexts, such as two coroutines or two processes.Channel
has been modified to extendClosable
- Also added
Parcel
fromamphp/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 connectedChannel
objects. - Added
RateLimitingSemaphore
which releases locks after a given time elapses. - Added
StaticKeySemaphore
, analogous toStaticKeyMutex
Changes from 2.0.0 Beta 6
- Added
RateLimitingSemaphore
which releases locks after a given time elapses. - Added
StaticKeySemaphore
, analogous toStaticKeyMutex