Client access to more AMQP features and attributes

Nov 18, 2014 at 10:11 PM
I'm hoping to use amqpnetlite as the basis for client code both in Service Bus and in other places. Like any good consumer I'm looking for more features in the API and more access to the AMQP primitives like settlement policy, flow control, and the like.

The web page calls amqpnetlite "Alpha quality" and "initial release". I've pounded on it with lots of messages to several different brokers and found it to hold up pretty well. It's really great to have a native .NET AMQP engine and I hope to contribute in the future.

Do you have any published plans on this project's future?
Coordinator
Nov 24, 2014 at 10:36 PM
The plan is to release a stable version of what has been already supported very soon. New features/APIs will be added based on user requests. Do you have a concrete list of features/APIs you'd like to have?

Thanks,
Xin
Nov 25, 2014 at 8:01 PM
Hi Xin,

I think I'm looking for more documentation so that I can evaluate Ampq.Net Lite better. I'd like to know about:
  • Resiliency
    ** Failover
    ** Heartbeats
    ** Reconnect
    ** Producer flow control
    ** Link Recovery
    ** At-least-once, Exactly-once delivery
    ** Implicit and explicit acknowledgement and settlement
  • Security
    ** SSL
    *** Client certificate authentication
    *** Hostname checking
    ** SASL
    ** GSSAPI
    ** Kerberos
    ** LDAP
    ** Message signing
    ** Message encryption
  • Transactions
    ** Local
    ** Distributed
    ** Timeout
  • Transport
    ** IPv6
    ** UDP
  • Other features
    ** Message compression
    ** TCP-nodelay
    ** Selectors
    ** Peer-to-peer (brokerless) messaging
    ** Message Time-to-live
    ** Large messages / streaming
    ** Threading
    ** Management - AMQP Management API
  • Testing
    ** Command line tools
    ** Interoperability
    ** Conformance
    ** Performance
Amqp.Net Lite doesn't have to deliver all these capabilities and features. After all, there is a Lite in the product name. I'm trying to discover which of these features already exist and which don't by hunting through the code and that will surely lead to wrong conclusions. More documentation on what you've already done and what your release provides would be most welcome.
Dec 1, 2014 at 10:49 PM
The list in the last post is more of a list of checkbox items and not really organized for future feature discussion. If I had to pick the top couple of things from that list they would be:
  • Connection failover.
    Host addresses don't contain just a single host but a list of hosts. When a connection to one host goes down then the Amqp.Net client automatically connects to the next host in the list.
  • Automatic credit window.
    Amqp.Net buffers some capacity between the client (user) code and the AMQP peer on the other end of the connection. The goal is to handle AMQP flow credits so that the client (user) never has to understand protocol credits and never has to call SetCredit().
Might these be in the roadmap?