# Swoole

- Introduction
- Installation/Configuration
  - Pré-requis
  - Installation
  - Configuration à l'exécution
- Constantes pré-définies
- Fonctions de Swoole
  - swoole_async_dns_lookup — Cherche de manière asynchrone et non bloquante l'adresse IP d'un hôte
  - swoole_async_read — Lit un flux de fichier de manière asynchrone
  - swoole_async_readfile — Lit un fichier de manière asynchrone
  - swoole_async_set — Met à jour les options d'E/S asynchrones
  - swoole_async_write — Ecrit des données dans un flux de fichier de manière asynchrone
  - swoole_async_writefile — Ecrit des données dans un fichier de manière asynchrone
  - swoole_clear_error — Enlève les erreurs dans le socket ou le dernier code d'erreur
  - swoole_client_select — Renvoie la description du fichier prête à être lue/écrite ou une erreur
  - swoole_cpu_num — Renvoie le nombre de CPU
  - swoole_errno — Renvoie le code d'erreur du dernier appel système
  - swoole_error_log — Sort les messages d'erreur dans le journal
  - swoole_event_add — Ajoute une nouvelle fonction de rappel d'un socket dans l'EventLoop
  - swoole_event_defer — Ajoute une fonction de rappel à la prochaine boucle d'événement
  - swoole_event_del — Supprime toutes les fonctions de rappel d'événements d'un socket
  - swoole_event_exit — Quitte la boucle d'événements, uniquement disponible côté client
  - swoole_event_set — Met à jour les fonctions de rappel d'événements d'un socket
  - swoole_event_wait — Commence la boucle d'événements
  - swoole_event_write — Ecrit des données dans un socket
  - swoole_get_local_ip — Renvoie les adresses IP IPv4 de chaque NIC sur la machine
  - swoole_last_error — Renvoie le dernier message d'erreur
  - swoole_load_module — Charge une extension swoole
  - swoole_select — Sélectionne les descriptions de fichiers prêtes à lire/écrire ou en erreur dans la boucle d'événements
  - swoole_set_process_name — Définit le nom du processus
  - swoole_strerror — Convertit l'Errno en messages d'erreur
  - swoole_timer_after — Déclenche une fonction de rappel unique dans le futur
  - swoole_timer_exists — Renvoie si une fonction de rappel de minuterie existe
  - swoole_timer_tick — Déclenche une fonction de rappel de minuterie par intervalle de temps
  - swoole_version — Renvoie la version de Swoole
- Swoole\Async — La classe Swoole\Async
  - Swoole\Async::dnsLookup — Cherche de manière asynchrone et non bloquante l'adresse IP d'un hôte.
  - Swoole\Async::read — Lit de manière asynchrone un flux de fichier.
  - Swoole\Async::readFile — Lit un fichier de manière asynchrone.
  - Swoole\Async::set — Met à jour les options d'E/S asynchrone.
  - Swoole\Async::write — Ecrit de manière asynchrone des données dans un flux de fichier.
  - Swoole\Async::writeFile — Description
- Swoole\Atomic — La classe Swoole\Atomic
  - Swoole\Atomic::add — Ajoute un nombre à la valeur de l'objet atomique.
  - Swoole\Atomic::cmpset — Compare et définit la valeur de l'objet atomique.
  - Swoole\Atomic::__construct — Construit un nouvel objet atomique Swoole.
  - Swoole\Atomic::get — Renvoie la valeur actuelle de l'objet atomique.
  - Swoole\Atomic::set — Définit une nouvelle valeur à l'objet atomique.
  - Swoole\Atomic::sub — Soustrait un nombre à la valeur de l'objet atomique.
- Swoole\Buffer — La classe Swoole\Buffer
  - Swoole\Buffer::append — Ajoute la chaîne ou les données binaires à la fin du tampon mémoire et retourne la nouvelle taille de la mémoire allouée.
  - Swoole\Buffer::clear — Réinitialise le tampon mémoire.
  - Swoole\Buffer::__construct — Allocation de blocs de mémoire de taille fixe.
  - Swoole\Buffer::__destruct — Détruit le tampon mémoire Swoole.
  - Swoole\Buffer::expand — Etend la taille du tampon mémoire.
  - Swoole\Buffer::read — Lit les données du tampon mémoire en fonction du décalage et de la longueur.
  - Swoole\Buffer::recycle — Libère la mémoire à l'OS qui n'est pas utilisée par le tampon mémoire.
  - Swoole\Buffer::substr — Lit les données du tampon mémoire en fonction du décalage et de la longueur. Ou supprime les données du tampon mémoire.
  - Swoole\Buffer::__toString — Renvoie la valeur de la chaîne du tampon mémoire.
  - Swoole\Buffer::write — Ecrit des données dans le tampon mémoire. La mémoire allouée pour le tampon ne sera pas modifiée.
- Swoole\Channel — La classe Swoole\Channel
  - Swoole\Channel::__construct — Construit un canal Swoole
  - Swoole\Channel::__destruct — Détruit un canal Swoole.
  - Swoole\Channel::pop — Lit et extrait des données du canal swoole.
  - Swoole\Channel::push — Ecrit et pousse des données dans le canal Swoole.
  - Swoole\Channel::stats — Renvoie les statistiques du canal Swoole.
- Swoole\Client — La classe Swoole\Client
  - Swoole\Client::close — Ferme la connexion établie.
  - Swoole\Client::connect — Connecte au port TCP ou UDP distant.
  - Swoole\Client::__construct — Crée un client TCP/UDP synchrone ou asynchrone Swoole, avec ou sans SSL.
  - Swoole\Client::__destruct — Détruit le client Swoole.
  - Swoole\Client::getpeername — Renvoie le nom du socket distant de la connexion.
  - Swoole\Client::getsockname — Renvoie le nom du socket local de la connexion.
  - Swoole\Client::isConnected — Vérifie si la connexion est établie.
  - Swoole\Client::on — Ajoute des fonctions de rappel déclenchées par des événements.
  - Swoole\Client::pause — Met en pause la réception de données.
  - Swoole\Client::pipe — Redirige les données vers un autre descripteur de fichier.
  - Swoole\Client::recv — Reçoit des données du socket distant.
  - Swoole\Client::resume — Reprend la réception de données.
  - Swoole\Client::send — Envoie des données au socket TCP distant.
  - Swoole\Client::sendfile — Envoie un fichier au socket TCP distant.
  - Swoole\Client::sendto — Envoie des données à l'adresse UDP distante.
  - Swoole\Client::set — Définit les paramètres du client Swoole avant que la connexion ne soit établie.
  - Swoole\Client::sleep — Supprime le client TCP de la boucle d'événements système.
  - Swoole\Client::wakeup — Ajoute le client TCP au cycle d'événements du système.
- Swoole\Connection\Iterator — La classe Swoole\Connection\Iterator
  - Swoole\Connection\Iterator::count — Compte les connexions.
  - Swoole\Connection\Iterator::current — Renvoie l'entrée de connexion actuelle.
  - Swoole\Connection\Iterator::key — Renvoie la clé de la connexion actuelle.
  - Swoole\Connection\Iterator::next — Déplace vers la connexion suivante.
  - Swoole\Connection\Iterator::offsetExists — Vérifie si une position existe.
  - Swoole\Connection\Iterator::offsetGet — Position à récupérer.
  - Swoole\Connection\Iterator::offsetSet — Assigne une connexion à la position spécifiée.
  - Swoole\Connection\Iterator::offsetUnset — Supprime une position.
  - Swoole\Connection\Iterator::rewind — Ré-initialise l'itérateur.
  - Swoole\Connection\Iterator::valid — Vérifie si la position actuelle est valide.
- Swoole\Coroutine — La classe Swoole\Coroutine
  - Swoole\Coroutine::call_user_func — Appelle une fonction de rappel donnée par le premier paramètre
  - Swoole\Coroutine::call_user_func_array — Appelle une fonction de rappel avec un tableau de paramètres
  - Swoole\Coroutine::cli_wait — Description
  - Swoole\Coroutine::create — Description
  - Swoole\Coroutine::getuid — Description
  - Swoole\Coroutine::resume — Description
  - Swoole\Coroutine::suspend — Description
- Swoole\Event — La classe Swoole\Event
  - Swoole\Event::add — Ajoute une nouvelle fonction de rappel d'un socket dans la boucle d'événements.
  - Swoole\Event::defer — Ajoute une fonction de rappel à la prochaine boucle d'événements.
  - Swoole\Event::del — Supprime toutes les fonctions de rappel d'événements d'un socket.
  - Swoole\Event::exit — Quitte la boucle d'événements, uniquement disponible côté client.
  - Swoole\Event::set — Met à jour les fonctions de rappel d'événements d'un socket.
  - Swoole\Event::wait — Description
  - Swoole\Event::write — Ecrit des données dans le socket.
- Swoole\Exception — La classe Swoole\Exception
- Swoole\Http\Client — La classe Swoole\Http\Client
  - Swoole\Http\Client::addFile — Ajoute un fichier au formulaire de publication.
  - Swoole\Http\Client::close — Ferme la connexion http.
  - Swoole\Http\Client::__construct — Construit le client HTTP asynchrone.
  - Swoole\Http\Client::__destruct — Détruit le client HTTP.
  - Swoole\Http\Client::download — Télécharge un fichier depuis le serveur distant.
  - Swoole\Http\Client::execute — Envoie la requête HTTP après avoir défini les paramètres.
  - Swoole\Http\Client::get — Envoie une requête HTTP GET au serveur distant.
  - Swoole\Http\Client::isConnected — Vérifie si la connexion HTTP est établie.
  - Swoole\Http\Client::on — Enregistre une fonction de rappel par nom d'événement.
  - Swoole\Http\Client::post — Envoie une requête HTTP POST au serveur distant.
  - Swoole\Http\Client::push — Ajoute des données au client websocket.
  - Swoole\Http\Client::set — Met à jour les paramètres du client HTTP.
  - Swoole\Http\Client::setCookies — Définit les cookies de la requête HTTP.
  - Swoole\Http\Client::setData — Définit les données du corps de la requête HTTP.
  - Swoole\Http\Client::setHeaders — Définit les en-têtes de la requête HTTP.
  - Swoole\Http\Client::setMethod — Définit la méthode de requête HTTP.
  - Swoole\Http\Client::upgrade — Met à niveau vers le protocole websocket.
- Swoole\Http\Request — La classe Swoole\Http\Request
  - Swoole\Http\Request::__destruct — Détruit la requête HTTP.
  - Swoole\Http\Request::rawcontent — Renvoie le corps brut de la requête HTTP.
- Swoole\Http\Response — La classe Swoole\Http\Response
  - Swoole\Http\Response::cookie — Définit les cookies de la réponse HTTP.
  - Swoole\Http\Response::__destruct — Détruit la réponse HTTP.
  - Swoole\Http\Response::end — Envoie les données pour la requête HTTP et termine la réponse.
  - Swoole\Http\Response::gzip — Active la compression gzip du contenu de la réponse.
  - Swoole\Http\Response::header — Définit les en-têtes de réponse HTTP.
  - Swoole\Http\Response::initHeader — Initialise l'en-tête de réponse HTTP.
  - Swoole\Http\Response::rawcookie — Définit les cookies bruts de la réponse HTTP.
  - Swoole\Http\Response::sendfile — Envoie un fichier via la réponse HTTP.
  - Swoole\Http\Response::status — Définit le code d'état de la réponse HTTP.
  - Swoole\Http\Response::write — Ajoute le contenu du corps HTTP à la réponse HTTP.
- Swoole\Http\Server — La classe Swoole\Http\Server
  - Swoole\Http\Server::on — Lie une fonction de rappel au serveur HTTP par nom d'événement.
  - Swoole\Http\Server::start — Lance le serveur HTTP swoole.
- Swoole\Lock — La classe Swoole\Lock
  - Swoole\Lock::__construct — Construit un verrou de mémoire.
  - Swoole\Lock::__destruct — Détruit un verrou de mémoire Swoole.
  - Swoole\Lock::lock — Essaie d'acquérir le verrou. Il bloquera si le verrou n'est pas disponible.
  - Swoole\Lock::lock_read — Verrouille un verrou en lecture-écriture pour la lecture.
  - Swoole\Lock::trylock — Essaie d'acquérir le verrou et retourne immédiatement même si le verrou n'est pas disponible.
  - Swoole\Lock::trylock_read — Essaie de verrouiller un verrou en lecture-écriture pour la lecture et retourne immédiatement même si le verrou n'est pas disponible.
  - Swoole\Lock::unlock — Libère le verrou.
- Swoole\Mmap — La classe Swoole\Mmap
  - Swoole\Mmap::open — Mappe un fichier en mémoire et retourne la ressource de flux qui peut être utilisée par les opérations de flux PHP.
- Swoole\MySQL — La classe Swoole\MySQL
  - Swoole\MySQL::close — Ferme la connexion MySQL asynchrone.
  - Swoole\MySQL::connect — Connecte au serveur MySQL distant.
  - Swoole\MySQL::__construct — Construit un client MySQL asynchrone.
  - Swoole\MySQL::__destruct — Détruit le client MySQL asynchrone.
  - Swoole\MySQL::getBuffer — Description
  - Swoole\MySQL::on — Enregistre une fonction de rappel basée sur le nom de l'événement.
  - Swoole\MySQL::query — Exécute la requête SQL.
- Swoole\MySQL\Exception — La classe Swoole\MySQL\Exception
- Swoole\Process — La classe Swoole\Process
  - Swoole\Process::alarm — Minuteur de haute précision qui déclenche un signal à intervalle fixe.
  - Swoole\Process::close — Ferme le tube vers le processus enfant.
  - Swoole\Process::__construct — Construit un processus.
  - Swoole\Process::daemon — Change le processus en un processus daemon.
  - Swoole\Process::__destruct — Détruit le processus.
  - Swoole\Process::exec — Exécute une commande système.
  - Swoole\Process::exit — Arrête les processus enfants.
  - Swoole\Process::freeQueue — Détruit la file de messages créée par swoole_process::useQueue.
  - Swoole\Process::kill — Envoie un signal au processus enfant.
  - Swoole\Process::name — Définit le nom du processus.
  - Swoole\Process::pop — Lit et extrait des données de la file de messages.
  - Swoole\Process::push — Ecrit et pousse des données dans la file de messages.
  - Swoole\Process::read — Lit les données envoyées au processus.
  - Swoole\Process::signal — Envoie un signal aux processus enfants.
  - Swoole\Process::start — Démarre le processus.
  - Swoole\Process::statQueue — Renvoie les statistiques de la file de messages utilisée comme méthode de communication entre les processus.
  - Swoole\Process::useQueue — Créer une file de messages comme méthode de communication entre le processus parent et les processus enfants.
  - Swoole\Process::wait — Attend les événements des processus enfants.
  - Swoole\Process::write — Ecrit des données dans le tube et communique avec le processus parent ou les processus enfants.
- Swoole\Redis\Server — La classe Swoole\Redis\Server
  - Swoole\Redis\Server::format — Description
  - Swoole\Redis\Server::setHandler — Description
  - Swoole\Redis\Server::start — Description
- Swoole\Serialize — La classe Swoole\Serialize
  - Swoole\Serialize::pack — Sérialise les données.
  - Swoole\Serialize::unpack — Désérialise les données.
- Swoole\Server — La classe Swoole\Server
  - Swoole\Server::addlistener — Ajoute un nouveau observateur au serveur.
  - Swoole\Server::addProcess — Ajoute un swoole_process défini par l'utilisateur au serveur.
  - Swoole\Server::after — Déclenche une fonction de rappel après une période de temps.
  - Swoole\Server::bind — Lie la connexion à un identifiant d'utilisateur défini par l'utilisateur.
  - Swoole\Server::clearTimer — Détruit et arrête un minuteur.
  - Swoole\Server::close — Ferme une connexion avec le client.
  - Swoole\Server::confirm — Vérifie l'état de la connexion.
  - Swoole\Server::connection_info — Renvoie les informations de connexion par la description du fichier.
  - Swoole\Server::connection_list — Renvoie toutes les connexions établies.
  - Swoole\Server::__construct — Construit un serveur Swoole.
  - Swoole\Server::defer — Décale l'exécution de la fonction de rappel à la fin de la boucle d'événements actuelle.
  - Swoole\Server::exist — Vérifie si la connexion existe.
  - Swoole\Server::finish — Utilisé dans le processus de tâche pour envoyer le résultat au processus de travail lorsque la tâche est terminée.
  - Swoole\Server::getClientInfo — Renvoie les informations de connexion par la description du fichier.
  - Swoole\Server::getClientList — Renvoie toutes les connexions établies.
  - Swoole\Server::getLastError — Renvoie le code d'erreur de la dernière erreur.
  - Swoole\Server::heartbeat — Vérifie toutes les connexions sur le serveur.
  - Swoole\Server::listen — Ecoute sur l'IP et le port donnés, type de socket.
  - Swoole\Server::on — Enregistre une fonction de rappel par nom d'événement.
  - Swoole\Server::pause — Arrête de recevoir des données de la connexion.
  - Swoole\Server::protect — Met la connexion en mode protégé.
  - Swoole\Server::reload — Relance tous les processus de travail.
  - Swoole\Server::resume — Lance la réception de données depuis la connexion.
  - Swoole\Server::send — Envoie des données au client.
  - Swoole\Server::sendfile — Envoie un fichier à la connexion.
  - Swoole\Server::sendMessage — Envoie un message aux processus de travail par ID.
  - Swoole\Server::sendto — Envoie des données à l'adresse UDP distante.
  - Swoole\Server::sendwait — Envoie des données au socket distant de manière bloquante.
  - Swoole\Server::set — Définit les paramètres d'exécution du serveur swoole.
  - Swoole\Server::shutdown — Arrête le processus du serveur maître, cette fonction peut être appelée dans les processus de travail.
  - Swoole\Server::start — Démarre le serveur Swoole.
  - Swoole\Server::stats — Renvoie les statistiques du serveur Swoole.
  - Swoole\Server::stop — Arrête le serveur Swoole.
  - Swoole\Server::task — Envoie des données aux processus de travail de tâche.
  - Swoole\Server::taskwait — Envoie des données aux processus de travail de tâche de manière bloquante.
  - Swoole\Server::taskWaitMulti — Exécute plusieurs tâches en parallèle.
  - Swoole\Server::tick — Répète une fonction donnée à chaque intervalle de temps donné.
- Swoole\Table — La classe Swoole\Table
  - Swoole\Table::column — Définit le type de données et la taille des colonnes.
  - Swoole\Table::__construct — Construit une table de mémoire Swoole de taille fixe.
  - Swoole\Table::count — Compte les lignes dans la table, ou compte tous les éléments dans la table si $mode = 1.
  - Swoole\Table::create — Créer la table de mémoire swoole.
  - Swoole\Table::current — Renvoie la ligne actuelle.
  - Swoole\Table::decr — Décrémente la valeur dans la table Swoole par $row_key et $column_key.
  - Swoole\Table::del — Supprime une ligne dans la table Swoole par $row_key.
  - Swoole\Table::destroy — Détruit la table Swoole.
  - Swoole\Table::exist — Vérifie si une ligne existe par $row_key.
  - Swoole\Table::get — Renvoie la valeur dans la table Swoole par $key et $field.
  - Swoole\Table::incr — Incrémente la valeur Swoole par $row_key et $column_key.
  - Swoole\Table::key — Renvoie la clé de la ligne actuelle.
  - Swoole\Table::next — Avance l'itérateur sur la prochaine ligne.
  - Swoole\Table::rewind — Ré-initialise l'itérateur.
  - Swoole\Table::set — Met à jour une ligne de la table par $key.
  - Swoole\Table::valid — Vérifie si la ligne actuelle est valide.
- Swoole\Timer — La classe Swoole\Timer
  - Swoole\Timer::after — Déclenche une fonction de rappel après une période de temps.
  - Swoole\Timer::clear — Supprime un minuteur par ID de minuteur.
  - Swoole\Timer::exists — Vérifie si un minuteur existe.
  - Swoole\Timer::tick — Répète une fonction donnée à chaque intervalle de temps donné.
- Swoole\WebSocket\Frame — La classe Swoole\WebSocket\Frame
- Swoole\WebSocket\Server — La classe Swoole\WebSocket\Server
  - Swoole\WebSocket\Server::exist — Vérifie si le descripteur de fichier existe.
  - Swoole\WebSocket\Server::on — Enregistre la fonction de rappel de l'événement
  - Swoole\WebSocket\Server::pack — Renvoie un paquet de données binaires à envoyer dans une seule trame.
  - Swoole\WebSocket\Server::push — Pousse les données vers le client distant.
  - Swoole\WebSocket\Server::unpack — Décompresse les données binaires reçues du client.