PHP Conference Japan 2024

EventBuffer 類別

(PECL event >= 1.5.0)

簡介

EventBuffer 代表 Libevent 的「evbuffer」,一個用於緩衝 I/O 的工具功能。

事件緩衝區通常用於執行緩衝網路 I/O 的「緩衝」部分。

類別概要

類別 EventBuffer {
/* 常數 */
const int EOL_ANY = 0;
const int EOL_CRLF = 1;
const int EOL_CRLF_STRICT = 2;
const int EOL_LF = 3;
const int PTR_SET = 0;

// 常數 PTR_SET 設定為 0
const int PTR_ADD = 1;

// 常數 PTR_ADD 設定為 1
/* 屬性 */
public readonly int $length;

// 公開唯讀整數屬性:長度
public readonly int $contiguous_space;

// 公開唯讀整數屬性:連續空間
/* 方法 */
public add( string $data ): bool

// 公開方法 add(字串 $data): 布林值
public addBuffer( EventBuffer $buf ): bool

// 公開方法 addBuffer(EventBuffer $buf): 布林值
public appendFrom( EventBuffer $buf , int $len ): int

// 公開方法 appendFrom(EventBuffer $buf, 整數 $len): 整數
public __construct()

// 公開方法 __construct()
public copyout( string &$data , int $max_bytes ): int

// 公開方法 copyout(字串 &$data, 整數 $max_bytes): 整數
public drain( int $len ): bool

// 公開方法 drain(整數 $len): 布林值
public enableLocking(): void

// 公開方法 enableLocking(): void
public expand( int $len ): bool

// 公開方法 expand(整數 $len): 布林值
public freeze( bool $at_front ): bool

// 公開方法 freeze(布林值 $at_front): 布林值
public lock(): void

// 公開方法 lock(): void
public prepend( string $data ): bool

// 公開方法 prepend(字串 $data): 布林值
公開 pullup( 整數 $size ): 字串
公開 read( 整數 $max_bytes ): 字串
公開 read( 混合 $fd , 整數 $howmuch ): 整數
公開 readLine( 整數 $eol_style ): 字串
公開 search( 字串 $what , 整數 $start = -1 , 整數 $end = -1 ): 混合
公開 searchEol( 整數 $start = -1 , 整數 $eol_style = EventBuffer::EOL_ANY ): 混合
公開 substr( 整數 $start , 整數 $length = ?): 字串
公開 unfreeze( 布林值 $at_front ): 布林值
公開 unlock(): 布林值
公開 write( 混合 $fd , 整數 $howmuch = ?): 整數
}

屬性

length

儲存在事件緩衝區中的位元組數。

contiguous_space

連續儲存在緩衝區前端的位元組數。緩衝區中的位元組可能儲存在多個獨立的記憶體區塊中;此屬性返回目前儲存在第一個區塊中的位元組數。

預定義常數

EventBuffer::EOL_ANY

行尾是任意數量回車符和換行符的任意序列。此格式並不是很有用;它主要為了向下相容而存在。

EventBuffer::EOL_CRLF

行尾是一個可選的回車符,後跟一個換行符。(換句話說,它可以是 "\r\n""\n"。)此格式在解析基於文字的網際網路協定時很有用,因為標準通常規定 "\r\n" 作為行尾終止符,但有不符合標準的用戶端有時只使用 "\n"

EventBuffer::EOL_CRLF_STRICT

行尾是一個回車符,後跟一個換行符。(這也稱為 "\r\n"。ASCII 值為 0x0D 0x0A)。

EventBuffer::EOL_LF

行尾是一個換行符。(這也稱為 "\n"。它的 ASCII 值為 0x0A。)

EventBuffer::PTR_SET

用作 EventBuffer::setPosition() 方法參數的旗標。如果指定此旗標,則位置指標會移動到緩衝區內的絕對位置。

EventBuffer::PTR_ADD

EventBuffer::PTR_SET 相同,但此旗標會使 EventBuffer::setPosition() 方法將位置向前移動指定的位元組數(而不是設定絕對位置)。

目錄

新增註記

使用者提供的註記

此頁面沒有使用者提供的註記。
To Top