abhinavsingh / jaxl
Jaxl - Async, Non-Blocking, Event based Networking Library in PHP.
Requires
- php: >=5.2.4
- ext-curl: *
- ext-hash: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-pcre: *
- ext-sockets: *
Requires (Dev)
- phpunit/phpunit: ^3.7.0
- squizlabs/php_codesniffer: *
Suggests
- ext-pcntl: Interrupt JAXL with signals
This package is not auto-updated.
Last update: 2024-11-09 12:47:23 UTC
README
Jaxl v3.x is a successor of v2.x (and is NOT backward compatible), carrying a lot of code from v2.x while throwing away the ugly parts. A lot of components have been re-written keeping in mind the feedback from the developer community over the last 4 years. Also Jaxl shares a few philosophies from my experience with erlang and python languages.
Jaxl is an asynchronous, non-blocking I/O, event based PHP library for writing custom TCP/IP client and server implementations. From it's previous versions, library inherits a full blown stable support for XMPP protocol stack. In v3.0, support for HTTP protocol stack has also been added.
At the heart of every protocol stack sits the Core stack. It contains all the building blocks for everything that we aim to do with Jaxl library. Both XMPP and HTTP protocol stacks are written on top of the Core stack. Infact the source code of protocol implementations knows nothing about the standard (inbuilt) PHP socket and stream methods.
Installation
php composer.phar require "jaxl/jaxl=^3.1.0"
Contributing
JAXL since v3.0.1 adopt PSR-2. To make it easier to maintain the code contribute your changes after they have passed PHP_CodeSniffer and PHPUnit. If possible, add a unit tests for your changes into the tests folder.
To know current errors and failed tests, run:
./vendor/bin/phpcs ./vendor/bin/phpunit
License
The product licensed under the BSD 3-Clause license. See LICENSE.