Name: stompl
Category: Message-Oriented Middleware, Network, Stomp, Parser
Version: 0.1.0
Cabal-Version: >= 1.8
Copyright: Copyright (c) Tobias Schoofs, 2011 - 2012
License: LGPL
license-file: license/lgpl-3.0.txt
Author: Tobias Schoofs
Maintainer: tobias dot schoofs at gmx dot net
Homepage: http://github.com/toschoo/mom
Synopsis: Stomp Parser and Utilities
Build-Type: Simple
Description:
The Stomp Protocol specifies message-oriented interoperability.
Applications connect to a message broker to send (publish)
or receive (subscribe) messages through queues.
Interoperating applications do not know
the location or internal structure of each other.
They see only each other's interfaces, /i.e./ the messages
published and subscribed through the broker.
Broker and application use a protocol based on the
exchange of commands and other data packets, called /frames/.
The Stompl library provides abstractions over Stomp frames
and a Stomp frame parser.
It does not implement a client or broker itself,
but provides abstractions to libraries and programs doing so.
It is used by the Stompl Queue library (stomp-queues).
More documentation and a test suite can be found on
.
The Stomp specification can be found at
.
.
Release History:
.
[0.1.0] Major changes:
.
- Compliance with Stomp 1.2:
.
- header keys and values are now escaped;
this, in fact, was missing for Stomp 1.1.
.
- header keys and values are not trimmed or padded;
this, as well, should have been done for Stomp 1.1 already.
Be aware that Stomp 1.0-like message headers
may fail now, /e.g./:
/message : hello world/
is not the same anymore as
/message:hello world/
.
- carriage return (ascii 13) plus line feed (ascii 10)
is now accepted as end-of-line;
note that stompl never generates carriage return as end-of-line,
the standard end-of-line remains line feed.
.
- the Message frame may have an /ack/ header
and should have when a message is sent
through a queue that requires explicit ack.
.
- the mandatory header in the Ack frame is now /id/
instead of /message-id/. It should correspond to /ack/
in the message that is ack'd.
Note that, to ease backward compatibility,
Ack frames are generated with both:
an /id/ and a /message-id/ header.
.
- a Stomp frame was added.
The Stomp frame has exactly the same format
as the Connect frame, but it is handled differently
with respect to escaping: Connect header keys and values
are not escaped, Stomp header keys and values, however, are.
.
[0.0.3] Major changes:
.
- new attribute "ClientId" in Connect frame
for compatibility with ActiveMQ;
.
- all commands accept additional headers
to ease adaptations to broker-specific features.
.
[0.0.2] Minor corrections and documentation
.
[0.0.1] Initial Release
Library
Build-Depends: base >= 4.0 && < 5.0,
bytestring >= 0.9 && < 0.10,
utf8-string >= 0.3.6,
attoparsec >= 0.9.1.1,
split >= 0.1.4.1,
mime >= 0.3.3
-- 3.0.3.2,
Exposed-Modules: Network.Mom.Stompl.Frame, Network.Mom.Stompl.Parser