kraken-php/channel

Kraken Framework Channel Component.

v0.4.1 2017-06-17 17:15 UTC

This package is not auto-updated.

Last update: 2024-04-13 17:34:57 UTC


README

Build Status Total Downloads Latest Stable Version Latest Unstable Version License Kraken Compatible

Note: This repository is a part of Kraken Framework, but can be used freely as standalone library. If you are interested in more asynchronous components for PHP, check out the rest of Kraken repository or see our asynchronous application skeleton example.

Description

Channel is an event-based component that allows sending and receiving messsages asynchronously. It provides abstraction for various IPC models and is designed to be used in multi-threaded, multi-processed systems. It provides complex routing mechanisms, protocols, message encoders and extends behaviour of decorated IPC models by implementing hearbeat mechanisms, reconnect mechanisms and allowing usage of both async and request-reply messaging patterns.

Feature Highlights

Channel features:

  • Message-driven communication,
  • IPC models abstraction,
  • Support for sending asynchronous messages,
  • Support for request-reply pattern,
  • Built-in offline and online message buffers,
  • Built-in configurable protocol-based routing mechanisms,
  • Separation of input and output routers,
  • Heartbeat mechanism,
  • Reconnect mechanism,
  • Event-based API,
  • Promise-based helpers,
  • Kraken Framework compatibility,
  • ...and more.

Examples

See more examples in official documentation.

Requirements

  • PHP-5.6 or PHP-7.0+,
  • UNIX or Windows OS.

Installation

composer require kraken-php/channel

Tests

Tests are provided within our write-only Framework repository.

Documentation

Documentation for this module can be found in the official documentation.

Contributing

This library is read-only subtree split of Kraken Framework. To make contributions, please go to Framework repository.

License

This library licensed under the MIT license, see more information in Kraken Framework license section.