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

# pg_socket_poll

(PHP 8 >= 8.4.0)

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

### 説明

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() - 非同期クエリを送信する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open