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

Connection Manager Extra Laravel Package

clue/connection-manager-extra

Extra connector decorators for ReactPHP Socket. Wrap ConnectorInterface to add retries, timeouts, delays, rejection rules, swapping, consecutive/random selection, concurrency limits and selective routing—without changing your async connect() code.

View on GitHub
Deep Wiki
Context7
v1.4.0
  • Feature: Improve PHP 8.5+ and PHP 8.4+ support and update test environment. (#40, #41 and #43 by @clue)

  • Improve test suite to ensure 100% code coverage and support legacy PHP 7.2 with PHPUnit 8.5. (#42 and #44 by @clue)

v1.3.0
  • Feature: Simplify usage by supporting new default loop. (#33 by @SimonFrings)

    // old (still supported)
    $connector = new ConnectionManagerTimeout($connector, 3.0, $loop);
    $delayed = new ConnectionManagerDelayed($connector, 0.5, $loop);
    
    // new (using default loop)
    $connector = new ConnectionManagerTimeout($connector, 3.0);
    $delayed = new ConnectionManagerDelayed($connector, 0.5);
    
  • Feature: Full support for PHP 8.1 and PHP 8.2. (#36 and #37 by @SimonFrings)

  • Feature: Forward compatibility with upcoming Promise v3. (#34 by @clue)

  • Improve test suite and add badge to show number of project installations. (#35 by @SimonFrings and #31 by @PaulRotmann)

v1.2.0
  • Improve test suite and add .gitattributes to exclude dev files from exports. Prepare PHP 8 support, update to PHPUnit 9 and simplify test matrix. (#24, #25 and #26 by @clue and #27, #28, #29 and #30 by @SimonFrings)
v1.1.0
  • Feature: Support custom rejection reason for ConnectionManagerReject (#23 by @clue)

    $connector = new ConnectionManagerReject(function ($uri) {
        throw new RuntimeException($uri . ' blocked');
    });
    
v1.0.1
  • Fix: Ignore URI scheme when matching selective connectors (#21 by @clue)

  • Fix HHVM build for now again and ignore future HHVM build errors (#22 by @clue)

v1.0.0
  • First stable release, now following SemVer

    Contains no other changes, so it's actually fully compatible with the v0.7 releases.

v0.7.1
  • Fix: Reject promise for invalid URI passed to ConnectionManagerSelective (#19 by @clue)

  • Feature: Forward compatibility with upcoming Socket v1.0 and v0.8 and upcoming EventLoop v1.0 and v0.5 (#18 and #20 by @clue)

v0.7.0
  • Feature / BC break: Replace deprecated SocketClient with new Socket component (#17 by @clue)

    This implies that all connectors from this package now implement the React\Socket\ConnectorInterface instead of the legacy React\SocketClient\ConnectorInterface.

v0.6.0
  • Feature / BC break: Update SocketClient to v0.7 or v0.6 (#16 by @clue)

  • Improve test suite by adding PHPUnit to require-dev (#15 by @clue)

v0.5.0
  • BC break: Change $retries to $tries (#14 by @clue)

    // old
    // 1 try plus 2 retries => 3 total tries
    $c = new ConnectionManagerRepeat($c, 2);
    
    // new
    // 3 total tries (1 try plus 2 retries)
    $c = new ConnectionManagerRepeat($c, 3);
    
  • BC break: Timed connectors now use $loop as last argument (#13 by @clue)

    // old
    // $c = new ConnectionManagerDelay($c, $loop, 1.0);
    $c = new ConnectionManagerTimeout($c, $loop, 1.0);
    
    // new
    $c = new ConnectionManagerTimeout($c, 1.0, $loop);
    
  • BC break: Move all connector lists to the constructor (#12 by @clue)

    // old
    // $c = new ConnectionManagerConcurrent();
    // $c = new ConnectionManagerRandom();
    $c = new ConnectionManagerConsecutive();
    $c->addConnectionManager($c1);
    $c->addConnectionManager($c2);
    
    // new
    $c = new ConnectionManagerConsecutive(array(
        $c1,
        $c2
    ));
    
  • BC break: ConnectionManagerSelective now accepts connector list in constructor (#11 by @clue)

    // old
    $c = new ConnectionManagerSelective();
    $c->addConnectionManagerFor($c1, 'host1');
    $c->addConnectionManagerFor($c2, 'host2');
    
    // new
    $c = new ConnectionManagerSelective(array(
        'host1' => $c1,
        'host2' => $c2
    ));
    
v0.4.0
  • Feature: Add ConnectionManagerConcurrent (#10 by @clue)
  • Feature: Support Promise cancellation for all connectors (#9 by @clue)
v0.3.3
  • Fix repetitions for ConnectionManagerRepeat (#8 by @clue)
  • First class support for PHP 5.3 through PHP 7 and HHVM (#7 by @clue)
v0.3.2
  • Compatibility with react/socket-client:v0.5 (keeping full BC) (#6 by @clue)
v0.3.1
  • Support React PHP v0.4 (while preserving BC with React PHP v0.3) (#4)
v0.3.0
  • BC break: Switch from (deprecated) clue/connection-manager to react/socket-client and thus replace each occurance of getConnect($host, $port) with create($host, $port) (#1)
  • Fix: Timeouts in ConnectionManagerTimeout now actually work (#1)
  • Fix: Properly reject promise in ConnectionManagerSelective when no targets have been found (#1)
v0.2.0
  • Feature: Add ConnectionManagerSelective which works like a network/firewall ACL
v0.1.0
  • First tagged 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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky