ali-eltaweel/socket-worker

There is no license information available for the latest version (1.2.0) of this package.

Socket Worker

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/ali-eltaweel/socket-worker

1.2.0 2025-10-20 08:10 UTC

This package is auto-updated.

Last update: 2025-10-20 08:11:11 UTC


README

Socket Worker

Installation

composer require ali-eltaweel/socket-worker

Basic Usage

Worker

$worker = new SocketWorker\SocketWorker(
    socketPath:     'path/to/socket/file',
    statusFilePath: 'path/to/socket/status/file',
    commandsCodec:   new class implements Codecs\ICodec { /**/ },
    commandHandler:  function(SocketWorker\Commands\SocketCommand $command): SocketWorker\Commands\SocketResponse {

        // ...

        return new SocketWorker\Commands\SocketResponse(status: true, data: []);
    }
);

while ($worker->status === SocketWorker\SocketWorkerStatus::Ready) {
    
    $worker->accept();
}

Dispatcher

$worker = new SocketWorker\SocketWorkerInterface(
    socketPath:     'path/to/socket/file',
    statusFilePath: 'path/to/socket/status/file',
    commandsCodec:   new class implements Codecs\ICodec { /**/ }
);

/**
 * @var SocketWorker\Commands\SocketResponse $response
 */
$response = $worker->execute(new SocketWorker\Commands\SocketCommand('cmd', arguments: []));