Download the PHP package crazy-goat/rabbit-stream without Composer

On this page you can find all versions of the php package crazy-goat/rabbit-stream. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package rabbit-stream

RabbitStream

A PHP library implementing the RabbitMQ Streams Protocol client.

It provides low-level TCP communication with a RabbitMQ broker over the native Stream protocol (port 5552), including binary frame serialization/deserialization.

Requirements

Installation

Quick Start

Publishing

Message bodies are plain strings — Producer::send() and sendBatch() automatically wrap them in an AMQP 1.0 Data section on the wire, and the consumer returns them unwrapped (see Publishing).

TLS transport (encrypted connections)

By default connections are plaintext tcp:// (port 5552). Pass a CrazyGoat\RabbitStream\VO\TlsConfig to use the encrypted ssl:// transport (RabbitMQ stream listener on port 5551):

Peer certificate and hostname verification are on by default (verify_peer/verify_peer_name). For a self-signed development broker you can disable them explicitly — do not do this in production:

Consuming

Usage

High-level API (Recommended)

Consuming with Message Decoding

Consumer with Auto-Commit

Note: autoCommit triggers storeOffset every N messages. The offset is also stored on close(). A named consumer is required for offset persistence — unnamed consumers cannot use storeOffset or queryOffset.

See examples/consumer_auto_commit.php for a full working example.

Low-level Connection API

See examples/simple_publisher.php for a full working example.

Protocol Implementation Status

Protocol reference: https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbitmq_stream/docs/PROTOCOL.adoc

Connection & Authentication

Command Key Request Response
PeerProperties 0x0011
SaslHandshake 0x0012
SaslAuthenticate 0x0013
Tune 0x0014
Open 0x0015

Publishing

Command Key Request Response
DeclarePublisher 0x0001
Publish 0x0002
PublishConfirm 0x0003
PublishError 0x0004
QueryPublisherSequence 0x0005
DeletePublisher 0x0006

Consuming

Command Key Request Response
Subscribe 0x0007
Deliver 0x0008
Credit 0x0009
StoreOffset 0x000a
QueryOffset 0x000b
Unsubscribe 0x000c
ConsumerUpdate 0x001a

Stream Management

Command Key Request Response
Create 0x000d
Delete 0x000e
Metadata 0x000f
MetadataUpdate 0x0010
CreateSuperStream 0x001d
DeleteSuperStream 0x001e
StreamStats 0x001c

Routing (Super Streams)

Command Key Request Response
Route 0x0018
Partitions 0x0019

Connection Management

Command Key Request Response
Close 0x0016
Heartbeat 0x0017
ExchangeCommandVersions 0x001b
ResolveOffsetSpec 0x001f

Legend: ✅ implemented, ❌ not implemented, — not applicable (one-direction command)


All versions of rabbit-stream with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-mbstring Version *
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package crazy-goat/rabbit-stream contains the following files

Loading the files please wait ...