HTTPS clone URL
Subversion checkout URL
Fetching latest commit…
Cannot retrieve the latest commit at this time
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 Files: broker -- A prototype broker: ./broker --help recv -- A client used to receive messages: ./recv --help send -- A client used to send messages: ./send --help client.py -- A simple client library. codec.py -- An implementation of the AMQP type system. composite.py -- Base class for composite types and utilities for loading composite type definitions from the xml. concurrency.py -- Concurrency utilities. connection.py -- An implementation of an AMQP connection endpoint. example-nodes -- Example node configurations for use with the -n option of the broker. framing.py -- An implementation of the AMQP framing layer. link.py -- An implementation of an AMQP link endpoint. messaging.py -- 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. protocol.py -- Classes representing the types defined by the protocol specification. README -- This file. queue.py -- A simple AMQP queue implementation. rendered-nodes -- Example config file for rendered nodes. selector.py -- A simple I/O driver. session.py test.py -- 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 codec.py. util.py -- Common utilities. widgets.py -- Cairo widgets for rendering nodes. window.py -- Thread that manages gtk window and cairo surface.