pg_socket_poll

(PHP 8 >= 8.4.0)

pg_socket_pollPostgreSQL 接続のソケットが読み取り/書き込み可能かどうかをポーリングする

説明

function pg_socket_poll(
    resource $socket,
    int $read,
    int $write,
    int $timeout = -1
): int

PostgreSQL 接続のソケットが読み取りおよび/または書き込み可能かどうかをポーリングします。 ソケットは pg_socket() を使って取得できます。 この関数は、ノンブロッキングな非同期クエリのワークフローを実装する際に役立ちます。

パラメータ

socket
pg_socket() から取得したソケットリソース。
read
読み取り可能かをチェックするかどうか。 チェックする場合は 1 を、 スキップする場合は 0 を渡します。
write
書き込み可能かをチェックするかどうか。 チェックする場合は 1 を、 スキップする場合は 0 を渡します。
timeout
待機する最大のミリ秒数。 無期限に待機する場合は -1 を、 まったく待機しない場合は 0 を渡します。

戻り値

ソケットの準備ができている場合は正の値を、 タイムアウトに達した場合は 0 を、 エラー時は -1 を返します。

参考

  • pg_socket() - PostgreSQL 接続の下層にある、読み取り専用のソケットのハンドルを取得する
  • pg_consume_input() - 接続の入力を読み取る
  • pg_send_query() - 非同期クエリを送信する