[doc-en] master: Optimize swoole constants (#4670)

From: Date: Thu, 15 May 2025 02:33:43 +0000
Subject: [doc-en] master: Optimize swoole constants (#4670)
Groups: php.doc.cvs 
Request: Send a blank email to [email protected] to get a copy of this message
Author: MARiA so cute (NathanFreeman)
Committer: GitHub (web-flow)
Pusher: sy-records
Date: 2025-05-15T10:22:41+08:00

Commit: https://github.com/php/doc-en/commit/ecc53915a8e9eee17065ce22bef4dca3e42537d1
Raw diff: https://github.com/php/doc-en/commit/ecc53915a8e9eee17065ce22bef4dca3e42537d1.diff

Optimize swoole constants (#4670)

Changed paths:
  M  reference/swoole/constants.xml


Diff:

diff --git a/reference/swoole/constants.xml b/reference/swoole/constants.xml
index 782618020ea2..3f5b9cc88fff 100644
--- a/reference/swoole/constants.xml
+++ b/reference/swoole/constants.xml
@@ -6,63 +6,135 @@
  &extension.constants;
  <para>
   <variablelist>
-   <varlistentry xml:id="constant.swoole-base">
+   <varlistentry xml:id="constant.swoole-version">
     <term>
-     <constant>SWOOLE_BASE</constant>
+     <constant>SWOOLE_VERSION</constant>
+     (<type>string</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Swoole version.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-version-id">
+    <term>
+     <constant>SWOOLE_VERSION_ID</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Swoole version.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-thread">
+   <varlistentry xml:id="constant.swoole-major-version">
     <term>
-     <constant>SWOOLE_THREAD</constant>
+     <constant>SWOOLE_MAJOR_VERSION</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Swoole major version.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-process">
+   <varlistentry xml:id="constant.swoole-minor-version">
     <term>
-     <constant>SWOOLE_PROCESS</constant>
+     <constant>SWOOLE_MINOR_VERSION</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Swoole minor version.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-ipc-unsock">
+   <varlistentry xml:id="constant.swoole-release-version">
     <term>
-     <constant>SWOOLE_IPC_UNSOCK</constant>
+     <constant>SWOOLE_RELEASE_VERSION</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Swoole release version.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-ipc-msgqueue">
+   <varlistentry xml:id="constant.swoole-extra-version">
     <term>
-     <constant>SWOOLE_IPC_MSGQUEUE</constant>
+     <constant>SWOOLE_EXTRA_VERSION</constant>
+     (<type>string</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Swoole extra version.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-debug">
+    <term>
+     <constant>SWOOLE_DEBUG</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Debug mode.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-ipc-preemptive">
+   <varlistentry xml:id="constant.swoole-have-compression">
     <term>
-     <constant>SWOOLE_IPC_PREEMPTIVE</constant>
+     <constant>SWOOLE_HAVE_COMPRESSION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Enable HTTP response compression mode.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-have-zlib">
+    <term>
+     <constant>SWOOLE_HAVE_ZLIB</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Have zlib compression tool.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-have-brotli">
+    <term>
+     <constant>SWOOLE_HAVE_BROTLI</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Have brotli compression tool.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-use-http2">
+    <term>
+     <constant>SWOOLE_USE_HTTP2</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Support http2 server.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-use-shortname">
+    <term>
+     <constant>SWOOLE_USE_SHORTNAME</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Enable/disable short aliases.
      </simpara>
     </listitem>
    </varlistentry>
@@ -73,6 +145,7 @@
     </term>
     <listitem>
      <simpara>
+      TCP ipv4 socket.
      </simpara>
     </listitem>
    </varlistentry>
@@ -83,6 +156,7 @@
     </term>
     <listitem>
      <simpara>
+      TCP ipv6 socket.
      </simpara>
     </listitem>
    </varlistentry>
@@ -93,6 +167,7 @@
     </term>
     <listitem>
      <simpara>
+      UDP ipv4 socket.
      </simpara>
     </listitem>
    </varlistentry>
@@ -103,6 +178,7 @@
     </term>
     <listitem>
      <simpara>
+      UDP ipv6 socket.
      </simpara>
     </listitem>
    </varlistentry>
@@ -113,6 +189,7 @@
     </term>
     <listitem>
      <simpara>
+      UNIX socket dgram.
      </simpara>
     </listitem>
    </varlistentry>
@@ -123,116 +200,348 @@
     </term>
     <listitem>
      <simpara>
+      UNIX socket stream.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-sock-sync">
+    <term>
+     <constant>SWOOLE_SOCK_SYNC</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Synchronous client mode.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-tcp">
+   <varlistentry xml:id="constant.swoole-sock-async">
     <term>
-     <constant>SWOOLE_TCP</constant>
+     <constant>SWOOLE_SOCK_ASYNC</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Asynchronous client mode.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-tcp6">
+   <varlistentry xml:id="constant.swoole-keep">
     <term>
-     <constant>SWOOLE_TCP6</constant>
+     <constant>SWOOLE_KEEP</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Swoole\Client supports creating a TCP long connection to the server in PHP-FPM/Apache.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-udp">
+   <varlistentry xml:id="constant.swoole-ssl">
     <term>
-     <constant>SWOOLE_UDP</constant>
+     <constant>SWOOLE_SSL</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Enable SSL tunnel encryption.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-udp6">
+   <varlistentry xml:id="constant.swoole-sslv3-method">
     <term>
-     <constant>SWOOLE_UDP6</constant>
+     <constant>SWOOLE_SSLv3_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      SSLv3 method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-unix-dgram">
+   <varlistentry xml:id="constant.swoole-sslv3-server-method">
     <term>
-     <constant>SWOOLE_UNIX_DGRAM</constant>
+     <constant>SWOOLE_SSLv3_SERVER_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      SSLv3 server method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-unix-stream">
+   <varlistentry xml:id="constant.swoole-sslv3-client-method">
     <term>
-     <constant>SWOOLE_UNIX_STREAM</constant>
+     <constant>SWOOLE_SSLv3_CLIENT_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      SSLv3 client method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-sock-sync">
+   <varlistentry xml:id="constant.swoole-tlsv1-method">
     <term>
-     <constant>SWOOLE_SOCK_SYNC</constant>
+     <constant>SWOOLE_TLSv1_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      TLSv1 method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-sock-async">
+   <varlistentry xml:id="constant.swoole-tlsv1-server-method">
     <term>
-     <constant>SWOOLE_SOCK_ASYNC</constant>
+     <constant>SWOOLE_TLSv1_SERVER_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      TLSv1 server method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-sync">
+   <varlistentry xml:id="constant.swoole-tlsv1-client-method">
     <term>
-     <constant>SWOOLE_SYNC</constant>
+     <constant>SWOOLE_TLSv1_CLIENT_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      TLSv1 client method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-async">
+   <varlistentry xml:id="constant.swoole-tlsv1-1-method">
     <term>
-     <constant>SWOOLE_ASYNC</constant>
+     <constant>SWOOLE_TLSv1_1_METHOD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      TLSv1_1 method.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-keep">
+   <varlistentry xml:id="constant.swoole-tlsv1-1-server-method">
     <term>
-     <constant>SWOOLE_KEEP</constant>
+     <constant>SWOOLE_TLSv1_1_SERVER_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_1 server method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tlsv1-1-client-method">
+    <term>
+     <constant>SWOOLE_TLSv1_1_CLIENT_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_1 client method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tlsv1-2-method">
+    <term>
+     <constant>SWOOLE_TLSv1_2_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_2 method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tlsv1-2-server-method">
+    <term>
+     <constant>SWOOLE_TLSv1_2_SERVER_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_2 server method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tlsv1-2-client-method">
+    <term>
+     <constant>SWOOLE_TLSv1_2_CLIENT_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_2 client method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dtls-server-method">
+    <term>
+     <constant>SWOOLE_DTLS_SERVER_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DTLS server method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dtls-client-method">
+    <term>
+     <constant>SWOOLE_DTLS_CLIENT_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DTLS client method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-sslv23-method">
+    <term>
+     <constant>SWOOLE_SSLv23_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSLv23 method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-sslv23-server-method">
+    <term>
+     <constant>SWOOLE_SSLv23_SERVER_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSLv23 server method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-sslv23-client-method">
+    <term>
+     <constant>SWOOLE_SSLv23_CLIENT_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSLv23 client method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tls-method">
+    <term>
+     <constant>SWOOLE_TLS_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLS method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tls-server-method">
+    <term>
+     <constant>SWOOLE_TLS_SERVER_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLS server method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-tls-client-method">
+    <term>
+     <constant>SWOOLE_TLS_CLIENT_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLS client method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-sslv3">
+    <term>
+     <constant>SWOOLE_SSL_SSLv3</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSLv3 protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-tlsv1">
+    <term>
+     <constant>SWOOLE_SSL_TLSv1</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1 protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-tlsv1-1">
+    <term>
+     <constant>SWOOLE_SSL_TLSv1_1</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_1 protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-tlsv1-2">
+    <term>
+     <constant>SWOOLE_SSL_TLSv1_2</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_2 protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-tlsv1-3">
+    <term>
+     <constant>SWOOLE_SSL_TLSv1_3</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TLSv1_3 protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-dtls">
+    <term>
+     <constant>SWOOLE_SSL_DTLS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DTLS protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ssl-sslv2">
+    <term>
+     <constant>SWOOLE_SSL_SSLv2</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      SSLv2 protocol.
      </simpara>
     </listitem>
    </varlistentry>
@@ -243,6 +552,7 @@
     </term>
     <listitem>
      <simpara>
+      Whether to listen for readable events.
      </simpara>
     </listitem>
    </varlistentry>
@@ -253,240 +563,3288 @@
     </term>
     <listitem>
      <simpara>
+      Whether to listen for writable events.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-version">
+   <varlistentry xml:id="constant.swoole-strerror-system">
     <term>
-     <constant>SWOOLE_VERSION</constant>
-     (<type>string</type>)
+     <constant>SWOOLE_STRERROR_SYSTEM</constant>
+     (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Convert the system errno no into error messages.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-aio-base">
+   <varlistentry xml:id="constant.swoole-strerror-gai">
     <term>
-     <constant>SWOOLE_AIO_BASE</constant>
+     <constant>SWOOLE_STRERROR_GAI</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Convert the addr info errno no into error messages.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-aio-linux">
+   <varlistentry xml:id="constant.swoole-strerror-dns">
     <term>
-     <constant>SWOOLE_AIO_LINUX</constant>
+     <constant>SWOOLE_STRERROR_DNS</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Convert the DNS errno no into error messages.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-filelock">
+   <varlistentry xml:id="constant.swoole-strerror-swoole">
     <term>
-     <constant>SWOOLE_FILELOCK</constant>
+     <constant>SWOOLE_STRERROR_SWOOLE</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Convert the swoole errno no into error messages.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-mutex">
+   <varlistentry xml:id="constant.swoole-error-malloc-fail">
     <term>
-     <constant>SWOOLE_MUTEX</constant>
+     <constant>SWOOLE_ERROR_MALLOC_FAIL</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Malloc memory fail.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-sem">
+   <varlistentry xml:id="constant.swoole-error-system-call-fail">
     <term>
-     <constant>SWOOLE_SEM</constant>
+     <constant>SWOOLE_ERROR_SYSTEM_CALL_FAIL</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      System call fail.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-rwlock">
+   <varlistentry xml:id="constant.swoole-error-php-fatal-error">
     <term>
-     <constant>SWOOLE_RWLOCK</constant>
+     <constant>SWOOLE_ERROR_PHP_FATAL_ERROR</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      PHP fatal error.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-opcode-text">
+   <varlistentry xml:id="constant.swoole-error-name-too-long">
     <term>
-     <constant>WEBSOCKET_OPCODE_TEXT</constant>
+     <constant>SWOOLE_ERROR_NAME_TOO_LONG</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Name too long.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-opcode-binary">
+   <varlistentry xml:id="constant.swoole-error-invalid-params">
     <term>
-     <constant>WEBSOCKET_OPCODE_BINARY</constant>
+     <constant>SWOOLE_ERROR_INVALID_PARAMS</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Invalid params.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-opcode-ping">
+   <varlistentry xml:id="constant.swoole-error-queue-full">
     <term>
-     <constant>WEBSOCKET_OPCODE_PING</constant>
+     <constant>SWOOLE_ERROR_QUEUE_FULL</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Queue full.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-status-connection">
+   <varlistentry xml:id="constant.swoole-error-operation-not-support">
     <term>
-     <constant>WEBSOCKET_STATUS_CONNECTION</constant>
+     <constant>SWOOLE_ERROR_OPERATION_NOT_SUPPORT</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Operation not support.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-status-handshake">
+   <varlistentry xml:id="constant.swoole-error-protocol-error">
     <term>
-     <constant>WEBSOCKET_STATUS_HANDSHAKE</constant>
+     <constant>SWOOLE_ERROR_PROTOCOL_ERROR</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Protocol error.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-status-frame">
+   <varlistentry xml:id="constant.swoole-error-wrong-operation">
     <term>
-     <constant>WEBSOCKET_STATUS_FRAME</constant>
+     <constant>SWOOLE_ERROR_WRONG_OPERATION</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      Wrong operation.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.websocket-status-active">
+   <varlistentry xml:id="constant.swoole-error-php-runtime-notice">
     <term>
-     <constant>WEBSOCKET_STATUS_ACTIVE</constant>
+     <constant>SWOOLE_ERROR_PHP_RUNTIME_NOTICE</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      PHP runtime notice.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-fast-pack">
+   <varlistentry xml:id="constant.swoole-error-for-test">
     <term>
-     <constant>SWOOLE_FAST_PACK</constant>
+     <constant>SWOOLE_ERROR_FOR_TEST</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
+      For test.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-debug">
+   <varlistentry xml:id="constant.swoole-error-no-payload">
     <term>
-     <constant>SWOOLE_LOG_DEBUG</constant>
+     <constant>SWOOLE_ERROR_NO_PAYLOAD</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      Debug log.
-      Available as of swoole 2.1.2.
+      No payload.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-trace">
+   <varlistentry xml:id="constant.swoole-error-undefined-behavior">
     <term>
-     <constant>SWOOLE_LOG_TRACE</constant>
+     <constant>SWOOLE_ERROR_UNDEFINED_BEHAVIOR</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      Trace log.
-      Available as of swoole 2.1.2.
+      Undefined behavior.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-info">
+   <varlistentry xml:id="constant.swoole-error-not-thread-safety">
     <term>
-     <constant>SWOOLE_LOG_INFO</constant>
+     <constant>SWOOLE_ERROR_NOT_THREAD_SAFETY</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      Info log.
-      Available as of swoole 2.1.2.
+      Not thread safety.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-notice">
+   <varlistentry xml:id="constant.swoole-error-file-not-exist">
     <term>
-     <constant>SWOOLE_LOG_NOTICE</constant>
+     <constant>SWOOLE_ERROR_FILE_NOT_EXIST</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      Notice log.
-      Available as of swoole 2.1.2.
+      File not exist.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-warning">
+   <varlistentry xml:id="constant.swoole-error-file-too-large">
     <term>
-     <constant>SWOOLE_LOG_WARNING</constant>
+     <constant>SWOOLE_ERROR_FILE_TOO_LARGE</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      Warning log.
-      Available as of swoole 2.1.2.
+      File too large.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-error">
+   <varlistentry xml:id="constant.swoole-error-file-empty">
     <term>
-     <constant>SWOOLE_LOG_ERROR</constant>
+     <constant>SWOOLE_ERROR_FILE_EMPTY</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      Error log.
-      Available as of swoole 2.1.2.
+      File empty.
      </simpara>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="constant.swoole-log-none">
+   <varlistentry xml:id="constant.swoole-error-dnslookup-duplicate-request">
     <term>
-     <constant>SWOOLE_LOG_NONE</constant>
+     <constant>SWOOLE_ERROR_DNSLOOKUP_DUPLICATE_REQUEST</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DNS Lookup duplicate request.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-dnslookup-resolve-failed">
+    <term>
+     <constant>SWOOLE_ERROR_DNSLOOKUP_RESOLVE_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DNS Lookup resolve failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-dnslookup-resolve-timeout">
+    <term>
+     <constant>SWOOLE_ERROR_DNSLOOKUP_RESOLVE_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DNS Lookup resolve timeout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-dnslookup-unsupported">
+    <term>
+     <constant>SWOOLE_ERROR_DNSLOOKUP_UNSUPPORTED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DNS Lookup unsupported.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-dnslookup-no-server">
+    <term>
+     <constant>SWOOLE_ERROR_DNSLOOKUP_NO_SERVER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      DNS Lookup no server.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-bad-ipv6-address">
+    <term>
+     <constant>SWOOLE_ERROR_BAD_IPV6_ADDRESS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Bad ipv6 address.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-unregistered-signal">
+    <term>
+     <constant>SWOOLE_ERROR_UNREGISTERED_SIGNAL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Unregistered signal.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-bad-host-addr">
+    <term>
+     <constant>SWOOLE_ERROR_BAD_HOST_ADDR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Bad host addr.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-event-socket-removed">
+    <term>
+     <constant>SWOOLE_ERROR_EVENT_SOCKET_REMOVED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Event socket removed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-closed-by-server">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_CLOSED_BY_SERVER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session closed by server.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-closed-by-client">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_CLOSED_BY_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session closed by client.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-closing">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_CLOSING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session closing.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-closed">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_CLOSED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session closed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-not-exist">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_NOT_EXIST</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session not exist.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-invalid-id">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_INVALID_ID</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session invalid id.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-discard-timeout-data">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_DISCARD_TIMEOUT_DATA</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session discard timeout data.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-session-discard-data">
+    <term>
+     <constant>SWOOLE_ERROR_SESSION_DISCARD_DATA</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Session discard data.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-output-buffer-overflow">
+    <term>
+     <constant>SWOOLE_ERROR_OUTPUT_BUFFER_OVERFLOW</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Output buffer overflow.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-output-send-yield">
+    <term>
+     <constant>SWOOLE_ERROR_OUTPUT_SEND_YIELD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Output send yield
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-not-ready">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_NOT_READY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL not ready
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-cannot-use-senfile">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_CANNOT_USE_SENFILE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL cannot use senfile
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-empty-peer-certificate">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_EMPTY_PEER_CERTIFICATE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL empty peer certificate.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-verify-failed">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_VERIFY_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL verify failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-bad-client">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_BAD_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL bad client.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-bad-protocol">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_BAD_PROTOCOL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL bad protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-reset">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_RESET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL reset.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-ssl-handshake-failed">
+    <term>
+     <constant>SWOOLE_ERROR_SSL_HANDSHAKE_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      SSL handshake failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-package-length-too-large">
+    <term>
+     <constant>SWOOLE_ERROR_PACKAGE_LENGTH_TOO_LARGE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Package length too large.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-package-length-not-found">
+    <term>
+     <constant>SWOOLE_ERROR_PACKAGE_LENGTH_NOT_FOUND</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Package length not found.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-data-length-too-large">
+    <term>
+     <constant>SWOOLE_ERROR_DATA_LENGTH_TOO_LARGE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Data length too large.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-package-malformed-data">
+    <term>
+     <constant>SWOOLE_ERROR_PACKAGE_MALFORMED_DATA</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Package malformed error data.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-task-package-too-big">
+    <term>
+     <constant>SWOOLE_ERROR_TASK_PACKAGE_TOO_BIG</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Task package too big.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-task-dispatch-fail">
+    <term>
+     <constant>SWOOLE_ERROR_TASK_DISPATCH_FAIL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Task dispatch fail.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-task-timeout">
+    <term>
+     <constant>SWOOLE_ERROR_TASK_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Task timeout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http2-stream-id-too-big">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP2_STREAM_ID_TOO_BIG</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http2 stream id too big.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http2-stream-no-header">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP2_STREAM_NO_HEADER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http2 stream no header.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http2-stream-not-found">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP2_STREAM_NOT_FOUND</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http2 stream not found.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http2-stream-ignore">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP2_STREAM_IGNORE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http2 stream ignore.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http2-send-control-frame-failed">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP2_SEND_CONTROL_FRAME_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http2 send control frame failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-aio-bad-request">
+    <term>
+     <constant>SWOOLE_ERROR_AIO_BAD_REQUEST</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Aio bad request.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-aio-canceled">
+    <term>
+     <constant>SWOOLE_ERROR_AIO_CANCELED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Aio canceled.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-aio-timeout">
+    <term>
+     <constant>SWOOLE_ERROR_AIO_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Aio timeout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-client-no-connection">
+    <term>
+     <constant>SWOOLE_ERROR_CLIENT_NO_CONNECTION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Client no connection.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socket-closed">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKET_CLOSED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socket closed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socket-poll-timeout">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKET_POLL_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socket poll timeout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socks5-unsupport-version">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKS5_UNSUPPORT_VERSION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socks5 unsupport version.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socks5-unsupport-method">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKS5_UNSUPPORT_METHOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socks5 unsupport method.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socks5-auth-failed">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKS5_AUTH_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socks5 auth failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socks5-server-error">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKS5_SERVER_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socks5 server error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-socks5-handshake-error">
+    <term>
+     <constant>SWOOLE_ERROR_SOCKS5_HANDSHAKE_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socks5 handshake failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-proxy-handshake-error">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_PROXY_HANDSHAKE_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http proxy handshake error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-invalid-protocol">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_INVALID_PROTOCOL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http invalid protocol.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-proxy-handshake-failed">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_PROXY_HANDSHAKE_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http proxy handshake failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-proxy-bad-response">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_PROXY_BAD_RESPONSE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http proxy bad response.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-conflict-header">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_CONFLICT_HEADER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http conflict header.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-context-unavailable">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_CONTEXT_UNAVAILABLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http context unavailable.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-http-cookie-unavailable">
+    <term>
+     <constant>SWOOLE_ERROR_HTTP_COOKIE_UNAVAILABLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Http cookie unavailable.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-bad-client">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_BAD_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket bad client.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-bad-opcode">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_BAD_OPCODE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket bad opcode.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-unconnected">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_UNCONNECTED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket unconnected.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-handshake-failed">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_HANDSHAKE_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket handshake failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-pack-failed">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_PACK_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket pack failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-unpack-failed">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_UNPACK_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket unpack failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-websocket-incomplete-packet">
+    <term>
+     <constant>SWOOLE_ERROR_WEBSOCKET_INCOMPLETE_PACKET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket incomplete packet.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-must-created-before-client">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_MUST_CREATED_BEFORE_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server must be created before client.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-too-many-socket">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_TOO_MANY_SOCKET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server too many socket.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-worker-terminated">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_WORKER_TERMINATED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server worker terminated.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-invalid-listen-port">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_INVALID_LISTEN_PORT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server invalid listen port.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-too-many-listen-port">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_TOO_MANY_LISTEN_PORT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server too many listen port.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-pipe-buffer-full">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_PIPE_BUFFER_FULL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server pipe buffer full.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-no-idle-worker">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_NO_IDLE_WORKER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server no idle worker.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-only-start-one">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_ONLY_START_ONE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server only start one.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-send-in-master">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_SEND_IN_MASTER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server send in master.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-invalid-request">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_INVALID_REQUEST</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server invalid request.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-connect-fail">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_CONNECT_FAIL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server connect failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-invalid-command">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_INVALID_COMMAND</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server invalid command.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-is-not-regular-file">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_IS_NOT_REGULAR_FILE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server is not regular file.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-send-to-woker-timeout">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_SEND_TO_WOKER_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server send to woker timeout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-invalid-callback">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_INVALID_CALLBACK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server invalid callback.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-unrelated-thread">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_UNRELATED_THREAD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server unrelated thread.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-worker-exit-timeout">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_WORKER_EXIT_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server worker exit timeout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-worker-abnormal-pipe-data">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_WORKER_ABNORMAL_PIPE_DATA</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server worker abnormal pipe data.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-server-worker-unprocessed-data">
+    <term>
+     <constant>SWOOLE_ERROR_SERVER_WORKER_UNPROCESSED_DATA</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server worker unprocessed data.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-out-of-coroutine">
+    <term>
+     <constant>SWOOLE_ERROR_CO_OUT_OF_COROUTINE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine out of coroutine.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-has-been-bound">
+    <term>
+     <constant>SWOOLE_ERROR_CO_HAS_BEEN_BOUND</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine has been bound.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-has-been-discarded">
+    <term>
+     <constant>SWOOLE_ERROR_CO_HAS_BEEN_DISCARDED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine has been discarded.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-mutex-double-unlock">
+    <term>
+     <constant>SWOOLE_ERROR_CO_MUTEX_DOUBLE_UNLOCK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine mutex double unlock.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-block-object-locked">
+    <term>
+     <constant>SWOOLE_ERROR_CO_BLOCK_OBJECT_LOCKED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine block object locked.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-block-object-waiting">
+    <term>
+     <constant>SWOOLE_ERROR_CO_BLOCK_OBJECT_WAITING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine block object waiting.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-yield-failed">
+    <term>
+     <constant>SWOOLE_ERROR_CO_YIELD_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine yield failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-getcontext-failed">
+    <term>
+     <constant>SWOOLE_ERROR_CO_GETCONTEXT_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine getcontext failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-swapcontext-failed">
+    <term>
+     <constant>SWOOLE_ERROR_CO_SWAPCONTEXT_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine swapcontext failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-makecontext-failed">
+    <term>
+     <constant>SWOOLE_ERROR_CO_MAKECONTEXT_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine makecontext failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-iocpinit-failed">
+    <term>
+     <constant>SWOOLE_ERROR_CO_IOCPINIT_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine iocpinit failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-protect-stack-failed">
+    <term>
+     <constant>SWOOLE_ERROR_CO_PROTECT_STACK_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine protect stack failed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-std-thread-link-error">
+    <term>
+     <constant>SWOOLE_ERROR_CO_STD_THREAD_LINK_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine std thread link error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-disabled-multi-thread">
+    <term>
+     <constant>SWOOLE_ERROR_CO_DISABLED_MULTI_THREAD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine disabled multi thread.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-cannot-cancel">
+    <term>
+     <constant>SWOOLE_ERROR_CO_CANNOT_CANCEL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine cannot cancel.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-not-exists">
+    <term>
+     <constant>SWOOLE_ERROR_CO_NOT_EXISTS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine not exists.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-canceled">
+    <term>
+     <constant>SWOOLE_ERROR_CO_CANCELED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine canceled.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-timedout">
+    <term>
+     <constant>SWOOLE_ERROR_CO_TIMEDOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine timedout.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-error-co-socket-close-wait">
+    <term>
+     <constant>SWOOLE_ERROR_CO_SOCKET_CLOSE_WAIT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine socket close wait.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-server">
+    <term>
+     <constant>SWOOLE_TRACE_SERVER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record server log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-client">
+    <term>
+     <constant>SWOOLE_TRACE_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record client log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-buffer">
+    <term>
+     <constant>SWOOLE_TRACE_BUFFER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record buffer log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-conn">
+    <term>
+     <constant>SWOOLE_TRACE_CONN</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record connect log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-event">
+    <term>
+     <constant>SWOOLE_TRACE_EVENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record event log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-worker">
+    <term>
+     <constant>SWOOLE_TRACE_WORKER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record worker log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-memory">
+    <term>
+     <constant>SWOOLE_TRACE_MEMORY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record memory log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-reactor">
+    <term>
+     <constant>SWOOLE_TRACE_REACTOR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record reactor log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-php">
+    <term>
+     <constant>SWOOLE_TRACE_PHP</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record php log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-http">
+    <term>
+     <constant>SWOOLE_TRACE_HTTP</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record http log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-http2">
+    <term>
+     <constant>SWOOLE_TRACE_HTTP2</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record http2 log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-eof-protocol">
+    <term>
+     <constant>SWOOLE_TRACE_EOF_PROTOCOL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record eof protocol log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-length-protocol">
+    <term>
+     <constant>SWOOLE_TRACE_LENGTH_PROTOCOL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record length protocol log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-close">
+    <term>
+     <constant>SWOOLE_TRACE_CLOSE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record close event log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-websocket">
+    <term>
+     <constant>SWOOLE_TRACE_WEBSOCKET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record websocket log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-redis-client">
+    <term>
+     <constant>SWOOLE_TRACE_REDIS_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record redis client log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-mysql-client">
+    <term>
+     <constant>SWOOLE_TRACE_MYSQL_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record mysql client log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-http-client">
+    <term>
+     <constant>SWOOLE_TRACE_HTTP_CLIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record http client log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-aio">
+    <term>
+     <constant>SWOOLE_TRACE_AIO</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record AIO log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-ssl">
+    <term>
+     <constant>SWOOLE_TRACE_SSL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record SSL log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-normal">
+    <term>
+     <constant>SWOOLE_TRACE_NORMAL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record normal log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-channel">
+    <term>
+     <constant>SWOOLE_TRACE_CHANNEL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record channel log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-timer">
+    <term>
+     <constant>SWOOLE_TRACE_TIMER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record timer log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-socket">
+    <term>
+     <constant>SWOOLE_TRACE_SOCKET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record socket log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-coroutine">
+    <term>
+     <constant>SWOOLE_TRACE_COROUTINE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record coroutine log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-context">
+    <term>
+     <constant>SWOOLE_TRACE_CONTEXT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record context log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-co-http-server">
+    <term>
+     <constant>SWOOLE_TRACE_CO_HTTP_SERVER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record coroutine http server log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-table">
+    <term>
+     <constant>SWOOLE_TRACE_TABLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record table log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-co-curl">
+    <term>
+     <constant>SWOOLE_TRACE_CO_CURL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record coroutine curl log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-cares">
+    <term>
+     <constant>SWOOLE_TRACE_CARES</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record cares log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-zlib">
+    <term>
+     <constant>SWOOLE_TRACE_ZLIB</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record zlib log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-co-pgsql">
+    <term>
+     <constant>SWOOLE_TRACE_CO_PGSQL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record pgsql coroutine log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-co-odbc">
+    <term>
+     <constant>SWOOLE_TRACE_CO_ODBC</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record odbc coroutine log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-co-oracle">
+    <term>
+     <constant>SWOOLE_TRACE_CO_ORACLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record oracle coroutine log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-co-sqlite">
+    <term>
+     <constant>SWOOLE_TRACE_CO_SQLITE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record sqlite coroutine log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-trace-all">
+    <term>
+     <constant>SWOOLE_TRACE_ALL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record all level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-debug">
+    <term>
+     <constant>SWOOLE_LOG_DEBUG</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record debug level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-trace">
+    <term>
+     <constant>SWOOLE_LOG_TRACE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record trace level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-info">
+    <term>
+     <constant>SWOOLE_LOG_INFO</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record info level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-notice">
+    <term>
+     <constant>SWOOLE_LOG_NOTICE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record notice level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-warning">
+    <term>
+     <constant>SWOOLE_LOG_WARNING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record warning level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-error">
+    <term>
+     <constant>SWOOLE_LOG_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Record error level log flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-none">
+    <term>
+     <constant>SWOOLE_LOG_NONE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Equivalent to turning off log information, log information will not be thrown.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-rotation-single">
+    <term>
+     <constant>SWOOLE_LOG_ROTATION_SINGLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      disable log rotation.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-rotation-monthly">
+    <term>
+     <constant>SWOOLE_LOG_ROTATION_MONTHLY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Rotate logs monthly.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-rotation-daily">
+    <term>
+     <constant>SWOOLE_LOG_ROTATION_DAILY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Rotate logs daily.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-rotation-hourly">
+    <term>
+     <constant>SWOOLE_LOG_ROTATION_HOURLY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Rotate logs hourly.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-log-rotation-every-minute">
+    <term>
+     <constant>SWOOLE_LOG_ROTATION_EVERY_MINUTE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Rotate logs every minute.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ipc-none">
+    <term>
+     <constant>SWOOLE_IPC_NONE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Do not use any inter-process communication (IPC) features.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ipc-unixsock">
+    <term>
+     <constant>SWOOLE_IPC_UNIXSOCK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      For inter-process communication (IPC), using Unix domain sockets (UnixSocket) in coroutine
mode
+      is highly recommended.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ipc-socket">
+    <term>
+     <constant>SWOOLE_IPC_SOCKET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      To use sockets for inter-process communication (IPC),
+      the listen method must be called to specify the address and port to monitor.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-iov-max">
+    <term>
+     <constant>SWOOLE_IOV_MAX</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      MAX iov limit.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-iouring-default">
+    <term>
+     <constant>SWOOLE_IOURING_DEFAULT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      In interrupt-driven mode, I/O requests can be submitted via the io_uring_enter syscall,
+      and completion is determined by directly checking the completion queue status.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-iouring-sqpoll">
+    <term>
+     <constant>SWOOLE_IOURING_SQPOLL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      In kernel polling mode, the kernel creates dedicated threads to submit and reap I/O requests,
+      nearly eliminating user-kernel context switches.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-base">
+    <term>
+     <constant>SWOOLE_BASE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Basic mode.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-process">
+    <term>
+     <constant>SWOOLE_PROCESS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Multi-process mode.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-thread">
+    <term>
+     <constant>SWOOLE_THREAD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Multi-thread mode.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ipc-unsock">
+    <term>
+     <constant>SWOOLE_IPC_UNSOCK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      The task process communicates with the worker process using a Unix Socket.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ipc-msgqueue">
+    <term>
+     <constant>SWOOLE_IPC_MSGQUEUE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      The task process communicates with the worker process using a sysvmsg queue.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-ipc-preemptive">
+    <term>
+     <constant>SWOOLE_IPC_PREEMPTIVE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      The task process communicates with the worker process using a preemptive mode over a sysvmsg
queue.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-server-command-master">
+    <term>
+     <constant>SWOOLE_SERVER_COMMAND_MASTER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Master process accept requests.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-server-command-manager">
+    <term>
+     <constant>SWOOLE_SERVER_COMMAND_MANAGER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Manager process accept requests.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-server-command-reactor-thread">
+    <term>
+     <constant>SWOOLE_SERVER_COMMAND_REACTOR_THREAD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Reactor thread accept requests.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-server-command-event-worker">
+    <term>
+     <constant>SWOOLE_SERVER_COMMAND_EVENT_WORKER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Event worker thread process accept requests.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-server-command-task-worker">
+    <term>
+     <constant>SWOOLE_SERVER_COMMAND_TASK_WORKER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Task worker thread process accept requests.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-round">
+    <term>
+     <constant>SWOOLE_DISPATCH_ROUND</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Round robin mode, each Worker process will be allocated sequentially for every received
connection.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-fdmod">
+    <term>
+     <constant>SWOOLE_DISPATCH_FDMOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Allocate Worker based on the connection's file descriptor. This ensures that data from
the same connection
+      will be processed by the same Worker only.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-idle-worker">
+    <term>
+     <constant>SWOOLE_DISPATCH_IDLE_WORKER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      The main process will choose delivery based on the workload status of the Worker, delivering
only to idle Workers.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-ipmod">
+    <term>
+     <constant>SWOOLE_DISPATCH_IPMOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Allocate based on client IP using modulo hash, assigning to a specific Worker process.
+      This ensures that data from the same source IP connection will always be assigned to
+      the same Worker process. Algorithm: inet_addr_mod(ClientIP, worker_num).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-uidmod">
+    <term>
+     <constant>SWOOLE_DISPATCH_UIDMOD</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Requires binding a connection to a unique uid by calling Server->bind() in the user code.
+      Then, the underlying system allocates to different Worker processes based on the value of
UID.
+      Algorithm: UID % worker_num. To use strings as UID, you can use crc32(UID_STRING).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-userfunc">
+    <term>
+     <constant>SWOOLE_DISPATCH_USERFUNC</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Set a dispatch_func callback function, where its return value determines
+      which process handles the request.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-co-conn-lb">
+    <term>
+     <constant>SWOOLE_DISPATCH_CO_CONN_LB</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Determine which process handles the request based on the number of connections.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-co-req-lb">
+    <term>
+     <constant>SWOOLE_DISPATCH_CO_REQ_LB</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Determine which process handles the request based on the number of requests.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-dispatch-concurrent-lb">
+    <term>
+     <constant>SWOOLE_DISPATCH_CONCURRENT_LB</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Determine which process handles the request based on concurrency count.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-worker-busy">
+    <term>
+     <constant>SWOOLE_WORKER_BUSY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Process is busy.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-worker-idle">
+    <term>
+     <constant>SWOOLE_WORKER_IDLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Process is idle.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-worker-exit">
+    <term>
+     <constant>SWOOLE_WORKER_EXIT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Process exited.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-mutex">
+    <term>
+     <constant>SWOOLE_MUTEX</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Mutex lock.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-rwlock">
+    <term>
+     <constant>SWOOLE_RWLOCK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      RW lock.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-spinlock">
+    <term>
+     <constant>SWOOLE_SPINLOCK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Spin lock.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-coro-max-num-limit">
+    <term>
+     <constant>SWOOLE_CORO_MAX_NUM_LIMIT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Maximum number of coroutines created(PHP_INT_MAX).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-coro-init">
+    <term>
+     <constant>SWOOLE_CORO_INIT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine initializing.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-coro-waiting">
+    <term>
+     <constant>SWOOLE_CORO_WAITING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine yield.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-coro-running">
+    <term>
+     <constant>SWOOLE_CORO_RUNNING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine completed
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-coro-end">
+    <term>
+     <constant>SWOOLE_CORO_END</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine completed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-exit-in-coroutine">
+    <term>
+     <constant>SWOOLE_EXIT_IN_COROUTINE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Executing exit() function in coroutine.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-exit-in-server">
+    <term>
+     <constant>SWOOLE_EXIT_IN_SERVER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Executing exit() function in server.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-data">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_DATA</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 data frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-headers">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_HEADERS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 headers frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-priority">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_PRIORITY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 priority frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-rst-stream">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_RST_STREAM</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 rst stream frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-settings">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_SETTINGS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 settings frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-push-promise">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_PUSH_PROMISE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 push promise frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-ping">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_PING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 ping frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-goaway">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_GOAWAY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 goaway frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-window-update">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_WINDOW_UPDATE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 window update frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-type-continuation">
+    <term>
+     <constant>SWOOLE_HTTP2_TYPE_CONTINUATION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 continuation frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-no-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_NO_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 no error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-protocol-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_PROTOCOL_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 protocol error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-internal-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_INTERNAL_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 internal error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-flow-control-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_FLOW_CONTROL_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 flow control error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-settings-timeout">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_SETTINGS_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 setting timeout error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-stream-closed">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_STREAM_CLOSED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 stream closed error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-frame-size-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_FRAME_SIZE_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 frame size error error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-refused-stream">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_REFUSED_STREAM</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 refused stream error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-cancel">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_CANCEL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 cancel error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-compression-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_COMPRESSION_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 compression error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-connect-error">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_CONNECT_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 connect error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-enhance-your-calm">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_ENHANCE_YOUR_CALM</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 enhance your calm error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-inadequate-security">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_INADEQUATE_SECURITY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 inadequate security error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http2-error-http-1-1-required">
+    <term>
+     <constant>SWOOLE_HTTP2_ERROR_HTTP_1_1_REQUIRED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      HTTP2 require http1.1 error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http-client-estatus-connect-failed">
+    <term>
+     <constant>SWOOLE_HTTP_CLIENT_ESTATUS_CONNECT_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Connection timeout, the server is not listening on the port or there is a network failure,
+      you can read $errCode to get the specific network error code.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http-client-estatus-request-timeout">
+    <term>
+     <constant>SWOOLE_HTTP_CLIENT_ESTATUS_REQUEST_TIMEOUT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Request timeout, the server did not return a response within the specified timeout time.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http-client-estatus-server-reset">
+    <term>
+     <constant>SWOOLE_HTTP_CLIENT_ESTATUS_SERVER_RESET</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      After the client's request is sent, the server forcefully disconnects the connection.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-http-client-estatus-send-failed">
+    <term>
+     <constant>SWOOLE_HTTP_CLIENT_ESTATUS_SEND_FAILED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Client send failed (this constant is available in Swoole version >= v4.5.9,
+      for versions less than this, please use the status code).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-msgqueue-orient">
+    <term>
+     <constant>SWOOLE_MSGQUEUE_ORIENT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Swoole\Process::pop() will return specific data in the queue with the message type as process
id + 1,
+      Swoole\Process::push() will add the type process id + 1 to the message.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-msgqueue-balance">
+    <term>
+     <constant>SWOOLE_MSGQUEUE_BALANCE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Swoole\Process::pop() will return the first message in the queue,
+      Swoole\Process::push() will not add a specific type to the message.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-tcp">
+    <term>
+     <constant>SWOOLE_HOOK_TCP</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream of TCP Socket type, including the most common ones like Redis, PDO,
Mysqli.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-udp">
+    <term>
+     <constant>SWOOLE_HOOK_UDP</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream of UDP Socket type.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-unix">
+    <term>
+     <constant>SWOOLE_HOOK_UNIX</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream for Unix Stream Socket type.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-udg">
+    <term>
+     <constant>SWOOLE_HOOK_UDG</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream for UDG Stream Socket type.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-ssl">
+    <term>
+     <constant>SWOOLE_HOOK_SSL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream for SSL Stream Socket type.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-tls">
+    <term>
+     <constant>SWOOLE_HOOK_TLS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream for TLS Stream Socket type.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-stream-function">
+    <term>
+     <constant>SWOOLE_HOOK_STREAM_FUNCTION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based stream_*() function.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-file">
+    <term>
+     <constant>SWOOLE_HOOK_FILE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based file operations.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-stdio">
+    <term>
+     <constant>SWOOLE_HOOK_STDIO</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based STDIO operations.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-sleep">
+    <term>
+     <constant>SWOOLE_HOOK_SLEEP</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based sleep operations, including sleep, usleep, time_nanosleep, time_sleep_until.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-proc">
+    <term>
+     <constant>SWOOLE_HOOK_PROC</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based proc* functions, including: proc_open, proc_close, proc_get_status,
proc_terminate.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-curl">
+    <term>
+     <constant>SWOOLE_HOOK_CURL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for curl extension.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-native-curl">
+    <term>
+     <constant>SWOOLE_HOOK_NATIVE_CURL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for native curl extension.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-blocking-function">
+    <term>
+     <constant>SWOOLE_HOOK_BLOCKING_FUNCTION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for blocking function, include gethostbyname, exec, shell_exec.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-sockets">
+    <term>
+     <constant>SWOOLE_HOOK_SOCKETS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for the sockets extension
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-pdo-pgsql">
+    <term>
+     <constant>SWOOLE_HOOK_PDO_PGSQL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for pdo_pgsql extension.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-pdo-odbc">
+    <term>
+     <constant>SWOOLE_HOOK_PDO_ODBC</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for pdo_odbc extension.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-pdo-oracle">
+    <term>
+     <constant>SWOOLE_HOOK_PDO_ORACLE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for pdo_oci extension.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-pdo-sqlite">
+    <term>
+     <constant>SWOOLE_HOOK_PDO_SQLITE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for pdo_sqlite extension.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-hook-all">
+    <term>
+     <constant>SWOOLE_HOOK_ALL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Coroutine-based for all block functions and extensions.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.socket-ecanceled">
+    <term>
+     <constant>SOCKET_ECANCELED</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Socket ecanceled error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.tcp-info">
+    <term>
+     <constant>TCP_INFO</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      TCP_INFO.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-timer-min-ms">
+    <term>
+     <constant>SWOOLE_TIMER_MIN_MS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Minimum supported timer interval (in milliseconds).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-timer-min-sec">
+    <term>
+     <constant>SWOOLE_TIMER_MIN_SEC</constant>
+     (<type>double</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Minimum supported timer interval (in seconds).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-timer-max-ms">
+    <term>
+     <constant>SWOOLE_TIMER_MAX_MS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Maximum supported timer interval (in milliseconds).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-timer-max-sec">
+    <term>
+     <constant>SWOOLE_TIMER_MAX_SEC</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Maximum supported timer interval (in seconds).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-status-connection">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_STATUS_CONNECTION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      WebSocket is establishing a connection.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-status-handshake">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_STATUS_HANDSHAKE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      The WebSocket is in the handshake phase.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-status-active">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_STATUS_ACTIVE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Active WebSocket connection.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-status-closing">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_STATUS_CLOSING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      WebSocket connection is closed.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-opcode-continuation">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_OPCODE_CONTINUATION</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket continuation frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-opcode-text">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_OPCODE_TEXT</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket text frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-opcode-binary">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_OPCODE_BINARY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket binary frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-opcode-close">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_OPCODE_CLOSE</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket close frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-opcode-ping">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_OPCODE_PING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket ping frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-opcode-pong">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_OPCODE_PONG</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket pong frame.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-flag-fin">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_FLAG_FIN</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket FIN flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-flag-rsv1">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_FLAG_RSV1</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket RSV1 flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-flag-rsv2">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_FLAG_RSV2</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket RSV2 flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-flag-rsv3">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_FLAG_RSV3</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket RSV3 flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-flag-mask">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_FLAG_MASK</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket MASK flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-flag-compress">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_FLAG_COMPRESS</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Websocket COMPRESS flag.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-normal">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_NORMAL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Normal closure (connection completed successfully).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-going-away">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_GOING_AWAY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Endpoint is going away (e.g., browser tab closed).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-protocol-error">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_PROTOCOL_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Protocol error (malformed data frame).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-data-error">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_DATA_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Received unsupported data (e.g., binary when expecting text).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-status-error">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_STATUS_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      No status code provided (sent as a placeholder).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-abnormal">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_ABNORMAL</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Abnormal closure (no close frame received, e.g., TCP reset).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-message-error">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_MESSAGE_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Invalid data (e.g., non-UTF-8 text in a text frame).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-policy-error">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_POLICY_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Policy violation (e.g., unauthorized action).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-message-too-big">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_MESSAGE_TOO_BIG</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Message too large (exceeds server’s max size).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-extension-missing">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_EXTENSION_MISSING</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Client didn’t negotiate required extensions.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-server-error">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_SERVER_ERROR</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server encountered an error.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-close-service-restart">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_CLOSE_SERVICE_RESTART</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Server is restarting (temporary condition).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-try-again-later">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_TRY_AGAIN_LATER</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Temporary server overload (client should retry).
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-bad-gateway">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_BAD_GATEWAY</constant>
+     (<type>int</type>)
+    </term>
+    <listitem>
+     <simpara>
+      Invalid response from upstream server.
+     </simpara>
+    </listitem>
+   </varlistentry>
+   <varlistentry xml:id="constant.swoole-websocket-close-tls">
+    <term>
+     <constant>SWOOLE_WEBSOCKET_CLOSE_TLS</constant>
      (<type>int</type>)
     </term>
     <listitem>
      <simpara>
-      None log.
-      Available as of swoole 4.3.2.
+      TLS handshake failed (used when HTTPS fails).
      </simpara>
     </listitem>
    </varlistentry>
@@ -494,23 +3852,23 @@
  </para>
 </appendix>
 
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-indent-tabs-mode:nil
-sgml-parent-document:nil
-sgml-default-dtd-file:"~/.phpdoc/manual.ced"
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
-vim600: syn=xml fen fdm=syntax fdl=2 si
-vim: et tw=78 syn=sgml
-vi: ts=1 sw=1
--->
+ <!-- Keep this comment at the end of the file
+ Local variables:
+ mode: sgml
+ sgml-omittag:t
+ sgml-shorttag:t
+ sgml-minimize-attributes:nil
+ sgml-always-quote-attributes:t
+ sgml-indent-step:1
+ sgml-indent-data:t
+ indent-tabs-mode:nil
+ sgml-parent-document:nil
+ sgml-default-dtd-file:"~/.phpdoc/manual.ced"
+ sgml-exposed-tags:nil
+ sgml-local-catalogs:nil
+ sgml-local-ecat-files:nil
+ End:
+ vim600: syn=xml fen fdm=syntax fdl=2 si
+ vim: et tw=78 syn=sgml
+ vi: ts=1 sw=1
+ -->


Thread (1 message)

  • MARiA so cute via GitHub
« previous php.doc.cvs (#22672) next »