関数・クラス解説

EvEmbed::__construct

version:PECL ev >= 0.2.0 (公式)

EvEmbed オブジェクトを作る

公式リファレンス

書式

public EvEmbed::__construct ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )

説明

これは高度なウォッチャー型で、あるイベントループを別のイベントループに埋め込むことができます。 現在は、埋め込みループに対応しているのは IO イベントだけです。 他の型のウォッチャーを使うと、処理が遅延したり不正確な動きになったりする可能性があるので、 使ってはいけません。

詳細は、 »  libev のドキュメント を参照ください。

このウォッチャーは、BSD システムで kqueue が使えないときにも大量のソケットを処理できるようにするのに便利です。 以下の例を参照ください。

パラメータ

other
EvLoop のインスタンス。 埋め込むループです。これは埋め込み可能なものでなければいけません (Ev::embeddableBackends() を参照ください)。
callback
ウォッチャーのコールバック を参照ください。
data
このウォッチャーに関連づけるカスタムデータ。
priority
ウォッチャーの優先度。

返値

成功した場合に EvEmbed オブジェクトを返します。

サンプル

例1 kqueue バックエンドで作ったループをデフォルトのループに埋め込む例

/*  * kqueue が使えるかどうかを調べ、ソケットで使う kqueue バックエンドを作ります  * (通常は、どんな kqueue 実装でも動きます)。  * kqueue/socket-only イベントループを loop_socket に格納します  * (EVFLAG_NOENV も使えます)。  *  * この例を流用しました  * http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9  */ $loop        = EvLoop::defaultLoop(); $socket_loop = NULL; $embed       = NULL; if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {     if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {         $embed = new EvEmbed($loop);     } } if (!$socket_loop) {     $socket_loop = $loop; } // これで、すべてのソケットに対して $socket_loop を使い、それ以外については $loop を使うようになりました

参考

  • Ev::embeddableBackends() - 他のイベントループに埋め込めるバックエンド群を返す
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール