CloudTwin  ROS2 Humble
Digital twin for path and trajectory optimisation
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
App\Console\Commands\DispatchDtSocketCommand Class Reference
+ Inheritance diagram for App\Console\Commands\DispatchDtSocketCommand:

Public Member Functions

 handle (DtOutboundQueueService $outboundQueue, DtStatusService $statusService)
 

Protected Attributes

 $description = 'Dispatch queued delivery room commands to remote DT socket'
 
 $signature = 'dt:dispatch-remote-socket'
 

Private Member Functions

 connectToRemoteSocket (string $address, float $connectTimeout, int $readTimeout)
 
 connectToWebSocket (string $address, float $connectTimeout, int $readTimeout)
 
 decodeWebSocketFrame ($socket)
 
 drainWebSocketMessages ($socket, DtStatusService $statusService, DtOutboundQueueService $outboundQueue)
 
 encodeWebSocketFrame (string $payload, int $opcode=0x1)
 
 logRemoteWebSocketPayload (string $payload, DtStatusService $statusService, DtOutboundQueueService $outboundQueue)
 
 readExactBytes ($socket, int $length)
 
 sendWebSocketJson ($socket, array $payload)
 

Member Function Documentation

◆ connectToRemoteSocket()

App\Console\Commands\DispatchDtSocketCommand::connectToRemoteSocket ( string  $address,
float  $connectTimeout,
int  $readTimeout 
)
private
Returns
array{0: resource|null, 1: 'tcp'|'websocket'}

◆ connectToWebSocket()

App\Console\Commands\DispatchDtSocketCommand::connectToWebSocket ( string  $address,
float  $connectTimeout,
int  $readTimeout 
)
private
Returns
array{0: resource|null, 1: 'websocket'}

◆ decodeWebSocketFrame()

App\Console\Commands\DispatchDtSocketCommand::decodeWebSocketFrame (   $socket)
private
Returns
array{opcode: int, payload: string}|null

◆ drainWebSocketMessages()

App\Console\Commands\DispatchDtSocketCommand::drainWebSocketMessages (   $socket,
DtStatusService  $statusService,
DtOutboundQueueService  $outboundQueue 
)
private

◆ encodeWebSocketFrame()

App\Console\Commands\DispatchDtSocketCommand::encodeWebSocketFrame ( string  $payload,
int  $opcode = 0x1 
)
private

◆ handle()

App\Console\Commands\DispatchDtSocketCommand::handle ( DtOutboundQueueService  $outboundQueue,
DtStatusService  $statusService 
)

◆ logRemoteWebSocketPayload()

App\Console\Commands\DispatchDtSocketCommand::logRemoteWebSocketPayload ( string  $payload,
DtStatusService  $statusService,
DtOutboundQueueService  $outboundQueue 
)
private

◆ readExactBytes()

App\Console\Commands\DispatchDtSocketCommand::readExactBytes (   $socket,
int  $length 
)
private

◆ sendWebSocketJson()

App\Console\Commands\DispatchDtSocketCommand::sendWebSocketJson (   $socket,
array  $payload 
)
private
Parameters
array<string,mixed>$payload

Member Data Documentation

◆ $description

App\Console\Commands\DispatchDtSocketCommand::$description = 'Dispatch queued delivery room commands to remote DT socket'
protected

◆ $signature

App\Console\Commands\DispatchDtSocketCommand::$signature = 'dt:dispatch-remote-socket'
protected

The documentation for this class was generated from the following file: