Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Event Loop Laravel Package

revolt/event-loop

Revolt is a rock-solid event loop for concurrent PHP 8.1+ apps using fibers. It enables non-blocking I/O with synchronous code, serving as a minimal, shared scheduler base for libraries like Amp and ReactPHP.

View on GitHub
Deep Wiki
Context7
1.x

1.0.0

  • Added EventLoop::getIdentifiers (#62)
  • Added EventLoop::getType (#62)
  • Added EventLoop::isEnabled (#62)
  • Added EventLoop::isReferenced (#62)
  • Fixed EventLoop::getErrorHandler missing the static modifier
  • Fixed double wrapping in UncaughtThrowable if a decorating event loop driver throws an UncaughtThrowable (#61)
  • Removed EventLoop::getInfo, use EventLoop::getIdentifiers() in combination with EventLoop::isEnabled, EventLoop::isReferenced, and EventLoop::getType instead (#62)
  • Removed EventLoop::createSuspension, use EventLoop::getSuspension instead
0.2.x

0.2.5

  • PHP 8.1 is now required (#55)
  • Fixed compatibility with 8.2 by fixing a deprecation notice (#58)
  • Fixed an integer overflow on timers if a large (e.g. PHP_INT_MAX) timeout is requested (#49)
  • Removed the reference kept to microtask (EventLoop::queue()) callback arguments so passed objects may be garbage collected if a resulting fiber unsets all references to the argument (#60)

0.2.4

  • Fixed the fiber reference in DriverSuspension being nulled early during shutdown, leading to an assertion error when attempting to resume the suspension

0.2.3

  • Fixed Undefined property: Revolt\EventLoop\Internal\DriverSuspension::$fiber in an error path

0.2.2

  • Fixed memory leak with suspensions keeping a reference to fibers (#42, #52) Similar leaks might still happen if suspensions are never resumed, so ensure your suspensions are eventually resumed.

0.2.1

  • Added template type to Suspension (#44)
  • Added FiberLocal::unset() (#45)
  • Added stacktrace to all current suspensions on early exit of the event loop (#46)

0.2.0

  • Added FiberLocal to store data specific to each fiber, e.g. logging context (#40)
  • Added throwing UnhandledThrowable if event loop stops due to an exception (#32)
  • Added EventLoop::getErrorHandler() to get the currently set error handler
  • Improved performance by reducing fiber switches by queueing callbacks for each tick (#34)
  • Improved performance by not creating unnecessary fibers if exceptions are thrown from callbacks
  • Removed return value of EventLoop::setErrorHandler(), use EventLoop::getErrorHandler() instead
  • Removed default value for first argument of EventLoop::setErrorHandler() (#30)
  • Cache suspensions and always return the same value for a specific fiber (#37)
    • EventLoop::getSuspension() has been added as replacement for EventLoop::createSuspension()
    • EventLoop::createSuspension() has been deprecated and will be removed in the next version
  • Fixed multiple interrupts on double resumption leading to an assertion error instead of an exception (#41)
  • Fixed suspensions keeping their pending state after the event loop exceptionally stopped
0.1.x

0.1.1

  • Fixed exceptions being hidden if the event loop stopped due to an uncaught exception (#31)

0.1.0

Initial development release.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport