PHP Класс PHPDaemon\Network\IOStream

Автор: Vasily Zorin ([email protected])
Наследование: use trait PHPDaemon\Traits\ClassWatchdog, use trait PHPDaemon\Traits\StaticObjectWatchdog, use trait PHPDaemon\Traits\EventHandlers, use trait PHPDaemon\Traits\EventLoopContainer
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$pool Associated pool

Защищенные свойства (Protected)

Свойство Тип Описание
$EOL EOL
$EOLS EOLS_* switch
$alive Alive?
$bev EventBufferEvent
$bevConnect Is bevConnect used?
$ctx Context
$ctxMode Defines context-related flag
$ctxname Context name
$fd File descriptor
$finished Finished?
$freed Freed?
$highMark Default high mark. Maximum number of bytes in buffer
$inited Initialized?
$lowMark Default low mark. Minimum number of bytes in buffer
$onWriteOnce Stack of callbacks called when writing is done
$priority Priority
$ready Ready?
$ssl SSL?
$state Current state
$timedout Timeout?
$timeout Timeout
$timeoutRead Read timeout
$timeoutWrite Write timeout
$url URL
$wRead Should we can onReadEv() in next onWriteEv()?
$writing Writing?

Открытые методы

Метод Описание
__construct ( resource $fd = null, object $pool = null ) IOStream constructor
__get ( string $name ) : mixed Getter
close ( ) : void Close the connection
drain ( integer $n ) : boolean Drains buffer
drainIfMatch ( string $str ) : boolean | null Drains buffer it matches the string
finish ( ) : void Finish the session. You should not worry about buffers, they are going to be flushed properly
freezeInput ( boolean $at_front = true ) : boolean Freeze input
freezeOutput ( boolean $at_front = true ) : boolean Freeze output
getBev ( ) : EventBufferEvent Get EventBufferEvent
getFd ( ) : resource Get file descriptor
getInputLength ( ) : integer Returns length of input buffer
gracefulShutdown ( ) : boolean Called when the worker is going to shutdown
isFinished ( ) : boolean Finished?
isFreed ( ) : boolean Freed?
look ( integer $n, integer $o ) : string | false Read from buffer without draining
lookExact ( integer $n, integer $o ) : string | false Reads exact $n bytes of buffer without draining
moveToBuffer ( EventBuffer $dest, integer $n ) : integer | false Moves arbitrary number of bytes from input buffer to given buffer
onReadEv ( object $bev ) : void Called when the connection has got new data
onStateEv ( object $bev, integer $events ) : void Called when the connection state changed
onWrite ( ) : void Called when the connection is ready to accept new data
onWriteEv ( object $bev ) : void Called when the connection is ready to accept new data
onWriteOnce ( callable $cb ) : void Push callback which will be called only once, when writing is available next time
prependInput ( string $str ) : boolean Prepends data to input buffer
prependOutput ( string $str ) : boolean Prepends data to output buffer
read ( integer $n ) : string | false Read data from the connection's buffer
readExact ( integer $n ) : string | false Reads exact $n bytes from buffer
readLine ( integer $eol = null ) : string | null Reads line from buffer
readUnlimited ( ) : string Reads all data from the connection's buffer
search ( string $what, integer $start, integer $end ) : integer Searches first occurence of the string in input buffer
setContext ( object $ctx, integer $mode ) : void Sets context mode
setFd ( resource $fd, object $bev = null ) : void Sets fd
setPriority ( integer $p ) : void Sets priority
setTimeout ( integer $rw ) : void Set timeout
setTimeouts ( integer $read, integer $write ) : void Set timeouts
setWatermark ( integer | null $low = null, integer | null $high = null ) : void Sets watermark
substr ( integer $o, integer $n ) : string | false Read from buffer without draining
unfreezeInput ( boolean $at_front = true ) : boolean Unfreeze input
unfreezeOutput ( boolean $at_front = true ) : boolean Unfreeze output
unsetFd ( ) : void Unsets pointers of associated EventBufferEvent and File descriptr
write ( string $data ) : boolean Send data to the connection. Note that it just writes to buffer that flushes at every baseloop
writeFromBuffer ( EventBuffer $src, integer $n ) : integer | false Moves arbitrary number of bytes from given buffer to output buffer
writeln ( string $data ) : boolean Send data and appending \n to connection. Note that it just writes to buffer flushed at every baseloop

Защищенные методы

Метод Описание
init ( ) : void Constructor
log ( string $m ) : void Send message to log
onFinish ( ) : void Called when the session finished
onRead ( ) : void Called when new data received
onReady ( ) : void Called when the stream is handshaked (at low-level), and peer is ready to recv. data

Описание методов

__construct() публичный Метод

IOStream constructor
public __construct ( resource $fd = null, object $pool = null )
$fd resource File descriptor. Optional
$pool object Pool. Optional

__get() публичный Метод

Getter
public __get ( string $name ) : mixed
$name string Name
Результат mixed

close() публичный Метод

Close the connection
public close ( ) : void
Результат void

drain() публичный Метод

Drains buffer
public drain ( integer $n ) : boolean
$n integer Numbers of bytes to drain
Результат boolean Success

drainIfMatch() публичный Метод

Drains buffer it matches the string
public drainIfMatch ( string $str ) : boolean | null
$str string Data
Результат boolean | null Success

finish() публичный Метод

Finish the session. You should not worry about buffers, they are going to be flushed properly
public finish ( ) : void
Результат void

freezeInput() публичный Метод

Freeze input
public freezeInput ( boolean $at_front = true ) : boolean
$at_front boolean At front. Default is true. If the front of a buffer is frozen, operations that drain data from the front of the buffer, or that prepend data to the buffer, will fail until it is unfrozen. If the back a buffer is frozen, operations that append data from the buffer will fail until it is unfrozen
Результат boolean Success

freezeOutput() публичный Метод

Freeze output
public freezeOutput ( boolean $at_front = true ) : boolean
$at_front boolean At front. Default is true. If the front of a buffer is frozen, operations that drain data from the front of the buffer, or that prepend data to the buffer, will fail until it is unfrozen. If the back a buffer is frozen, operations that append data from the buffer will fail until it is unfrozen
Результат boolean Success

getBev() публичный Метод

Get EventBufferEvent
public getBev ( ) : EventBufferEvent
Результат EventBufferEvent

getFd() публичный Метод

Get file descriptor
public getFd ( ) : resource
Результат resource File descriptor

getInputLength() публичный Метод

Returns length of input buffer
public getInputLength ( ) : integer
Результат integer

gracefulShutdown() публичный Метод

Called when the worker is going to shutdown
public gracefulShutdown ( ) : boolean
Результат boolean Ready to shutdown?

init() защищенный Метод

Constructor
protected init ( ) : void
Результат void

isFinished() публичный Метод

Finished?
public isFinished ( ) : boolean
Результат boolean

isFreed() публичный Метод

Freed?
public isFreed ( ) : boolean
Результат boolean

log() защищенный Метод

Send message to log
protected log ( string $m ) : void
$m string Message
Результат void

look() публичный Метод

Read from buffer without draining
public look ( integer $n, integer $o ) : string | false
$n integer Number of bytes to read
$o integer Offset
Результат string | false

lookExact() публичный Метод

Reads exact $n bytes of buffer without draining
public lookExact ( integer $n, integer $o ) : string | false
$n integer Number of bytes to read
$o integer Offset
Результат string | false

moveToBuffer() публичный Метод

Moves arbitrary number of bytes from input buffer to given buffer
public moveToBuffer ( EventBuffer $dest, integer $n ) : integer | false
$dest EventBuffer Destination nuffer
$n integer Max. number of bytes to move
Результат integer | false

onFinish() защищенный Метод

Called when the session finished
protected onFinish ( ) : void
Результат void

onRead() защищенный Метод

Called when new data received
protected onRead ( ) : void
Результат void

onReadEv() публичный Метод

Called when the connection has got new data
public onReadEv ( object $bev ) : void
$bev object EventBufferEvent
Результат void

onReady() защищенный Метод

Called when the stream is handshaked (at low-level), and peer is ready to recv. data
protected onReady ( ) : void
Результат void

onStateEv() публичный Метод

Called when the connection state changed
public onStateEv ( object $bev, integer $events ) : void
$bev object EventBufferEvent
$events integer Events
Результат void

onWrite() публичный Метод

Called when the connection is ready to accept new data
public onWrite ( ) : void
Результат void

onWriteEv() публичный Метод

Called when the connection is ready to accept new data
public onWriteEv ( object $bev ) : void
$bev object EventBufferEvent
Результат void

onWriteOnce() публичный Метод

Push callback which will be called only once, when writing is available next time
public onWriteOnce ( callable $cb ) : void
$cb callable Callback
Результат void

prependInput() публичный Метод

Prepends data to input buffer
public prependInput ( string $str ) : boolean
$str string Data
Результат boolean Success

prependOutput() публичный Метод

Prepends data to output buffer
public prependOutput ( string $str ) : boolean
$str string Data
Результат boolean Success

read() публичный Метод

Read data from the connection's buffer
public read ( integer $n ) : string | false
$n integer Max. number of bytes to read
Результат string | false Readed data

readExact() публичный Метод

Reads exact $n bytes from buffer
public readExact ( integer $n ) : string | false
$n integer Number of bytes to read
Результат string | false

readLine() публичный Метод

Reads line from buffer
public readLine ( integer $eol = null ) : string | null
$eol integer EOLS_*
Результат string | null

readUnlimited() публичный Метод

Reads all data from the connection's buffer
public readUnlimited ( ) : string
Результат string Readed data

setContext() публичный Метод

Sets context mode
public setContext ( object $ctx, integer $mode ) : void
$ctx object Context
$mode integer Mode
Результат void

setFd() публичный Метод

Sets fd
public setFd ( resource $fd, object $bev = null ) : void
$fd resource File descriptor
$bev object EventBufferEvent
Результат void

setPriority() публичный Метод

Sets priority
public setPriority ( integer $p ) : void
$p integer Priority
Результат void

setTimeout() публичный Метод

Set timeout
public setTimeout ( integer $rw ) : void
$rw integer Timeout
Результат void

setTimeouts() публичный Метод

Set timeouts
public setTimeouts ( integer $read, integer $write ) : void
$read integer Read timeout in seconds
$write integer Write timeout in seconds
Результат void

setWatermark() публичный Метод

Sets watermark
public setWatermark ( integer | null $low = null, integer | null $high = null ) : void
$low integer | null Low
$high integer | null High
Результат void

substr() публичный Метод

Read from buffer without draining
public substr ( integer $o, integer $n ) : string | false
$o integer Offset
$n integer Number of bytes to read
Результат string | false

unfreezeInput() публичный Метод

Unfreeze input
public unfreezeInput ( boolean $at_front = true ) : boolean
$at_front boolean At front. Default is true. If the front of a buffer is frozen, operations that drain data from the front of the buffer, or that prepend data to the buffer, will fail until it is unfrozen. If the back a buffer is frozen, operations that append data from the buffer will fail until it is unfrozen
Результат boolean Success

unfreezeOutput() публичный Метод

Unfreeze output
public unfreezeOutput ( boolean $at_front = true ) : boolean
$at_front boolean At front. Default is true. If the front of a buffer is frozen, operations that drain data from the front of the buffer, or that prepend data to the buffer, will fail until it is unfrozen. If the back a buffer is frozen, operations that append data from the buffer will fail until it is unfrozen
Результат boolean Success

unsetFd() публичный Метод

Unsets pointers of associated EventBufferEvent and File descriptr
public unsetFd ( ) : void
Результат void

write() публичный Метод

Send data to the connection. Note that it just writes to buffer that flushes at every baseloop
public write ( string $data ) : boolean
$data string Data to send
Результат boolean Success

writeFromBuffer() публичный Метод

Moves arbitrary number of bytes from given buffer to output buffer
public writeFromBuffer ( EventBuffer $src, integer $n ) : integer | false
$src EventBuffer Source buffer
$n integer Max. number of bytes to move
Результат integer | false

writeln() публичный Метод

Send data and appending \n to connection. Note that it just writes to buffer flushed at every baseloop
public writeln ( string $data ) : boolean
$data string Data to send
Результат boolean Success

Описание свойств

$EOL защищенное свойство

EOL
protected $EOL

$EOLS защищенное свойство

EOLS_* switch
protected $EOLS

$alive защищенное свойство

Alive?
protected $alive

$bev защищенное свойство

EventBufferEvent
protected $bev

$bevConnect защищенное свойство

Is bevConnect used?
protected $bevConnect

$ctx защищенное свойство

Context
protected $ctx

$ctxMode защищенное свойство

Defines context-related flag
protected $ctxMode

$ctxname защищенное свойство

Context name
protected $ctxname

$fd защищенное свойство

File descriptor
protected $fd

$finished защищенное свойство

Finished?
protected $finished

$freed защищенное свойство

Freed?
protected $freed

$highMark защищенное свойство

Default high mark. Maximum number of bytes in buffer
protected $highMark

$inited защищенное свойство

Initialized?
protected $inited

$lowMark защищенное свойство

Default low mark. Minimum number of bytes in buffer
protected $lowMark

$onWriteOnce защищенное свойство

Stack of callbacks called when writing is done
protected $onWriteOnce

$pool публичное свойство

Associated pool
public $pool

$priority защищенное свойство

Priority
protected $priority

$ready защищенное свойство

Ready?
protected $ready

$ssl защищенное свойство

SSL?
protected $ssl

$state защищенное свойство

Current state
protected $state

$timedout защищенное свойство

Timeout?
protected $timedout

$timeout защищенное свойство

Timeout
protected $timeout

$timeoutRead защищенное свойство

Read timeout
protected $timeoutRead

$timeoutWrite защищенное свойство

Write timeout
protected $timeoutWrite

$url защищенное свойство

URL
protected $url

$wRead защищенное свойство

Should we can onReadEv() in next onWriteEv()?
protected $wRead

$writing защищенное свойство

Writing?
protected $writing