Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

AMQP Prototyping

branch: master
This project contains a partial prototype of AMQP 1-0 draft. This
currently includes relatively complete components for framing, codec,
connection, session, and link endpoints, as well as a very simple
broker, client library, and send/recv utilities.

Getting Started:

  1. First run the broker, passing the names of your queues on the
     command line:

       ./broker queue-a queue-b queue-c ...

  2. Run the send program to send a message:

       ./send queue-a this is a test

  3. Run the recv program to receive a message:

       ./recv queue-a

  4. Use the --help option for each of the above programs to explore
     in more depth. All of the above programs support the -t/--trace
     option which may be used to print a protocol trace:

       ./send -t raw queue-a trace raw bytes
       ./send -t frm queue-b trace operations before/after encode/decode
       ./send -t "raw frm err" queue-c trace everything


  broker         -- A prototype broker: ./broker --help

  recv           -- A client used to receive messages: ./recv --help

  send           -- A client used to send messages: ./send --help      -- A simple client library.       -- An implementation of the AMQP type system.   -- Base class for composite types and utilities for
                    loading composite type definitions from the xml. -- Concurrency utilities.  -- An implementation of an AMQP connection endpoint.

  example-nodes  -- Example node configurations for use with the -n
                    option of the broker.     -- An implementation of the AMQP framing layer.        -- An implementation of an AMQP link endpoint.   -- An implementation of the AMQP messaging layer.

  messaging.xml  -- Definitions from the AMQP messaging specification.

  mllib/         -- An XML parsing library used to load type definitions.    -- Classes representing the types defined by the
                    protocol specification.

  README         -- This file.       -- A simple AMQP queue implementation.

  rendered-nodes -- Example config file for rendered nodes.    -- A simple I/O driver.        -- Some informal test code.

  TODO           -- List of outstanding tasks.

  transport.xml  -- Definitions from the AMQP transport specification.

  types.xml      -- Definitions from the AMQP types specification. This
                    includes encoding and type definitions used by
                  -- Common utilities.     -- Cairo widgets for rendering nodes.      -- Thread that manages gtk window and cairo surface.
Something went wrong with that request. Please try again.