module Crabbit

Overview

Native asynchronous client for the RabbitMQ Stream protocol.

Crabbit exposes connection management through Environment, publishing through Producer, consumption through Consumer, and complete AMQP 1.0 message encoding through Message and AMQP.

Applications only need the top-level require:

require "crabbit"

environment = Crabbit::Environment.connect
producer = environment.producer("events")
producer.publish("hello").await

Resources own sockets and background fibers. Close producers and consumers when they are no longer needed, or call Environment#close to close every resource created by the environment.

Defined in:

crabbit.cr
crabbit/compression.cr
crabbit/configuration.cr
crabbit/consumer.cr
crabbit/environment.cr
crabbit/errors.cr
crabbit/message.cr
crabbit/oauth2.cr
crabbit/options.cr
crabbit/producer.cr
crabbit/response_code.cr
crabbit/super_stream.cr
crabbit/types.cr
crabbit/version.cr

Constant Summary

Log = ::Log.for("crabbit")
VERSION = "0.1.0"