Event EventBuffer 클래스

(PECL event >= 1.5.0)


소개

EventBuffer는 버퍼된 I/O를 위한 유틸리티 기능인 Libevent의 "evbuffer"를 나타냅니다.

이벤트 버퍼는 일반적으로 버퍼링된 네트워크 I/O의 "버퍼" 부분을 수행하는 데 유용합니다.


클래스 개요

                  
class EventBuffer {

  /* Constants */
  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;
  const int PTR_ADD = 1;

  /* Properties */
  public readonly int $length;
  public readonly int $contiguous_space;

  /* Methods */
  public add( string $data ): bool
  public addBuffer( EventBuffer $buf ): bool
  public appendFrom( EventBuffer $buf , int $len ): int
  public __construct()
  public copyout( string &$data , int $max_bytes ): int
  public drain( int $len ): bool
  public enableLocking(): void
  public expand( int $len ): bool
  public freeze( bool $at_front ): bool
  public lock(): void
  public prepend( string $data ): bool
  public prependBuffer( EventBuffer $buf ): bool
  public pullup( int $size ): string
  public read( int $max_bytes ): string
  public read( mixed $fd , int $howmuch ): int
  public readLine( int $eol_style ): string
  public search( string $what , int $start = -1 , int $end = -1 ): mixed
  public searchEol( int $start = -1 , int $eol_style = EventBuffer::EOL_ANY ): mixed
  public substr( int $start , int $length = ?): string
  public unfreeze( bool $at_front ): bool
  public unlock(): bool
  public write( mixed $fd , int $howmuch = ?): int
}
                  
                

Properties

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::setPosition() 메서드가 (절대 위치를 설정하는 대신) 지정된 바이트 수만큼 앞으로 위치를 이동한다는 점을 제외하면 EventBuffer::PTR_SET 과 동일합니다.

목차