PHP Class Aerys\Websocket\Rfc6455Endpoint

Inheritance: implements Aerys\Websocket\Endpoint, implements Middleware, implements SplObserver
Show file Open project: amphp/aerys

Public Methods

Method Description
__construct ( Psr\Log\LoggerInterface $logger, Websocket $application )
__invoke ( Request $request, Response $response, $args )
close ( integer $clientId, integer $code = Code::NORMAL_CLOSE, string $reason = "" )
do ( InternalRequest $ireq )
getClients ( ) : array
getInfo ( integer $clientId ) : array
monitor ( ) : array
onParse ( array $parseResult, Aerys\Websocket\Rfc6455Client $client )
onReadable ( $watcherId, $socket, Aerys\Websocket\Rfc6455Client $client )
onWritable ( $watcherId, $socket, Aerys\Websocket\Rfc6455Client $client )
parser ( callable $emitCallback, array $options = [] ) : Generator A stateful generator websocket frame parser
reapClient ( $watcherId, InternalRequest $ireq )
send ( $clientId, string $data, boolean $binary = false ) : Promise
sendBinary ( $clientId, string $data ) : Promise
setOption ( string $option, $value )
update ( Server $server ) : Promise

Private Methods

Method Description
compile ( Aerys\Websocket\Rfc6455Client $client, string $msg, integer $opcode, boolean $fin = true ) : Promise
defaultBuilder ( Aerys\Websocket\Rfc6455Client $client ) just a dummy builder .
doClose ( Aerys\Websocket\Rfc6455Client $client, integer $code, string $reason ) : Generator
onAppError ( $clientId, Throwable $e ) : Generator
onParsedControlFrame ( Aerys\Websocket\Rfc6455Client $client, array $parseResult )
onParsedData ( Aerys\Websocket\Rfc6455Client $client, array $parseResult )
onParsedError ( Aerys\Websocket\Rfc6455Client $client, array $parseResult )
sendCloseFrame ( Aerys\Websocket\Rfc6455Client $client, $code, $msg ) : Promise
sendHeartbeatPing ( Aerys\Websocket\Rfc6455Client $client )
timeout ( )
tryAppOnClose ( integer $clientId, $code, $reason ) : Generator
tryAppOnData ( Aerys\Websocket\Rfc6455Client $client, Message $msg ) : Generator
tryAppOnOpen ( integer $clientId, $onHandshakeResult ) : Generator Any subgenerator delegations here can safely use yield from because this generator is invoked from the main import() function which is wrapped in a resolve() at the HTTP server layer.
unloadClient ( Aerys\Websocket\Rfc6455Client $client )
write ( Aerys\Websocket\Rfc6455Client $client, $frameInfo ) : Promise

Method Details

__construct() public method

public __construct ( Psr\Log\LoggerInterface $logger, Websocket $application )
$logger Psr\Log\LoggerInterface
$application Websocket

__invoke() public method

public __invoke ( Request $request, Response $response, $args )
$request Request
$response Response

close() public method

public close ( integer $clientId, integer $code = Code::NORMAL_CLOSE, string $reason = "" )
$clientId integer
$code integer
$reason string

do() public method

public do ( InternalRequest $ireq )
$ireq InternalRequest

getClients() public method

public getClients ( ) : array
return array

getInfo() public method

public getInfo ( integer $clientId ) : array
$clientId integer
return array

monitor() public method

public monitor ( ) : array
return array

onParse() public method

public onParse ( array $parseResult, Aerys\Websocket\Rfc6455Client $client )
$parseResult array
$client Aerys\Websocket\Rfc6455Client

onReadable() public method

public onReadable ( $watcherId, $socket, Aerys\Websocket\Rfc6455Client $client )
$client Aerys\Websocket\Rfc6455Client

onWritable() public method

public onWritable ( $watcherId, $socket, Aerys\Websocket\Rfc6455Client $client )
$client Aerys\Websocket\Rfc6455Client

parser() public static method

A stateful generator websocket frame parser
public static parser ( callable $emitCallback, array $options = [] ) : Generator
$emitCallback callable A callback to receive parser event emissions
$options array Optional parser settings
return Generator

reapClient() public method

public reapClient ( $watcherId, InternalRequest $ireq )
$ireq InternalRequest

send() public method

public send ( $clientId, string $data, boolean $binary = false ) : Promise
$data string
$binary boolean
return Promise

sendBinary() public method

public sendBinary ( $clientId, string $data ) : Promise
$data string
return Promise

setOption() public method

public setOption ( string $option, $value )
$option string

update() public method

public update ( Server $server ) : Promise
$server Server
return Promise