EventBuffer (class)

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

EventBuffer {
/* Constants */
const integer EOL_ANY = 0 ;
const integer EOL_CRLF = 1 ;
const integer EOL_CRLF_STRICT = 2 ;
const integer EOL_LF = 3 ;
const integer PTR_SET = 0 ;
const integer PTR_ADD = 1 ;
/* Properties */
public readonly int $length ;
public readonly int $contiguous_space ;
/* Methods */
public bool add (  string $data  )
public bool addBuffer (  EventBuffer $buf  )
public int appendFrom (  EventBuffer $buf  ,  int $len  )
public __construct ( void )
public int copyout (  string &$data  ,  int $max_bytes  )
public bool drain (  int $len  )
public void enableLocking ( void )
public bool expand (  int $len  )
public bool freeze (  bool $at_front  )
public void lock ( void )
public bool prepend (  string $data  )
public bool prependBuffer (  EventBuffer $buf  )
public string pullup (  int $size  )
public string read (  int $max_bytes  )
public int read (  mixed $fd  ,  int $howmuch  )
public string readLine (  int $eol_style  )
public mixed search (  string $what  [,  int $start  = -1  [,  int $end  = -1  ]] )
public mixed searchEol ([  int $start  = -1  [,  int $eol_style  = EventBuffer::EOL_ANY   ]] )
public string substr (  int $start  [,  int $length  ] )
public bool unfreeze (  bool $at_front  )
public bool unlock ( void )
public int write (  mixed $fd  [,  int $howmuch  ] )
}

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–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://secure.php.net/manual/en/class.eventbuffer.php

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部