The EventBuffer class

From Get docs
Php/docs/latest/class.eventbuffer


The EventBuffer class

Introduction

(PECL event >= 1.5.0)

EventBuffer represents Libevent's "evbuffer", an utility functionality for buffered I/O.

Event buffers are meant to be generally useful for doing the "buffer" part of buffered network I/O.

Class synopsis

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
The number of bytes stored in an event buffer.
contiguous_space
The number of bytes stored contiguously at the front of the buffer. The bytes in a buffer may be stored in multiple separate chunks of memory; the property returns the number of bytes currently stored in the first chunk.

Predefined Constants

EventBuffer::EOL_ANY
The end of line is any sequence of any number of carriage return and linefeed characters. This format is not very useful; it exists mainly for backward compatibility.
EventBuffer::EOL_CRLF
The end of the line is an optional carriage return, followed by a linefeed. (In other words, it is either a "\r\n" or a "\n" .) This format is useful in parsing text-based Internet protocols, since the standards generally prescribe a "\r\n" line-terminator, but nonconformant clients sometimes say just "\n" .
EventBuffer::EOL_CRLF_STRICT
The end of a line is a single carriage return, followed by a single linefeed. (This is also known as "\r\n" . The ASCII values are 0x0D 0x0A ).
EventBuffer::EOL_LF
The end of a line is a single linefeed character. (This is also known as "\n" . It is ASCII value is 0x0A .)
EventBuffer::PTR_SET
Flag used as argument of EventBuffer::setPosition() method. If this flag specified, the position pointer is moved to an absolute position within the buffer.
EventBuffer::PTR_ADD
The same as EventBuffer::PTR_SET , except this flag causes EventBuffer::setPosition() method to move position forward up to the specified number of bytes(instead of setting absolute position).

Table of Contents


© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.eventbuffer.php