Nexus API Reference

WorkerTransport

Tags
psalm-api

Envelope-based inter-worker transport. Implementations: InMemoryWorkerTransport (testing), ThreadQueueTransport (Swoole threads).

Table of Contents

Methods

close()  : void
Close the transport and release resources.
isStopped()  : bool
Whether stop() has been called on this transport.
listen()  : void
Register a listener for incoming envelopes.
send()  : void
Send an envelope to the target worker.
stop()  : void
Signal the transport to stop. The receive loop exits cooperatively on its next backoff wakeup (within ~10ms in the worst case).

Methods

close()

Close the transport and release resources.

public close() : void

isStopped()

Whether stop() has been called on this transport.

public isStopped() : bool
Return values
bool

listen()

Register a listener for incoming envelopes.

public listen(callable(Envelope): void $onEnvelope) : void
Parameters
$onEnvelope : callable(Envelope): void

send()

Send an envelope to the target worker.

public send(int $targetWorker, Envelope $envelope) : void
Parameters
$targetWorker : int
$envelope : Envelope

stop()

Signal the transport to stop. The receive loop exits cooperatively on its next backoff wakeup (within ~10ms in the worst case).

public stop() : void

Idempotent — calling stop() on an already-stopped transport is a no-op.

Required for graceful shutdown: without stop(), the receive loop blocks indefinitely and the worker cannot exit cleanly.


        
On this page

Search results