pg_socket_poll

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

説明

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

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

パラメータ

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

戻り値

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

参考

  • pg_socket
  • pg_consume_input
  • pg_send_query