Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
AMQP Prototyping
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
demo
mllib initial commit of framing and codec components
.gitignore
README
TODO
broker
brokerlib.py
client.py
codec.py
composite.py
concurrency.py
connection.py
dispatcher.py
dump
example-nodes
example-users
filerecv
filesend
framing.py
hole.py
link.py
messaging.py
messaging.xml
protocol.py
queue.py
recv
rendered-nodes
sasl.py
security.xml
selector.py
send
session.py
test.py
transactions.xml
transport.xml
types.xml
util.py
widgets.py
window.py

README

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.
Something went wrong with that request. Please try again.