Skip to content

Latest commit

 

History

History
96 lines (84 loc) · 2.09 KB

README.md

File metadata and controls

96 lines (84 loc) · 2.09 KB

Lapine

A C# client library for RabbitMQ 3.7+

.NET Core

Project Status (2021-08-24)

Lapine is in the early stages of development and is definitely not suitable for use in your project(s) yet.

Implementation Status (AMQP Protocol)

Protocol

  • Basic framing
  • Method framing - Connection class
  • Method framing - Channel class
  • Method framing - Exchange class
  • Method framing - Queue class
  • Method framing - Basic class
  • Method framing - Transaction class
  • Content Header framing
  • Content Body framing
  • Heartbeat framing
  • Error handling

Connection

  • Protocol negotiation
  • PLAIN authentication
  • AMQPLAIN authentication
  • EXTERNAL authentication
  • Connection tuning
  • Heartbeating
  • Cluster node selection
  • Automatic reconnection

Channel

  • Open
  • Close

Exchange

  • Declare
  • Delete

Queue

  • Declare
  • Bind
  • Unbind
  • Purge
  • Delete

Basic

  • Publish
    • Mandatory
    • Immediate (Unsupported in RabbitMQ)
    • Large messages (> MaxFrameSize)
  • Qos
  • Get
    • Empty messages (content header only)
    • Large messages (> MaxFrameSize)
  • Consume
  • Deliver
    • Empty messages (content header only)
    • Large messages (> MaxFrameSize)
    • Concurrent message processing
  • Ack
  • Reject
  • Cancel
  • Return
    • Empty messages (context header only)
    • Large messages (> MaxFrameSize)
  • Recover

Transaction

  • Select
  • Commit
  • Rollback

RabbitMQ Extensions

  • Publisher Confirms
  • Consumer Cancel
  • Consumer Prefetch
  • Consumer Priorities
  • Direct Reply-to
  • Blocked Connections
  • Basic Nack
  • Exchange To Exchange Binding
  • Alternate Exchanges
  • Sender Routing
  • TTL
  • Dead Lettering
  • Queue Length Limits
  • Priority Queues
  • Auth Failure
  • Quorum Queues
  • Streams (via AMQP)

Implementation Status (Streams Protocol)

TODO