* [Caml-list] [ANN] ocaml-amqp 0.0.1
@ 2015-11-01 8:05 Anders Peter Fugmann
2015-11-07 14:32 ` Marek Kubica
0 siblings, 1 reply; 5+ messages in thread
From: Anders Peter Fugmann @ 2015-11-01 8:05 UTC (permalink / raw)
To: caml-list
Ocaml-Amqp is an async based client library for Amqp.
The library implements 0-9-1 specification of the protocol and support
for some Rabbitmq server extensions.
Ocaml-Amqp provides low level bindings the to Amqp protocol as well as
high level messaging patterns. It is implemented in pure Ocaml.
The library implements 0-9-1 specification of the protocol and support
for some Rabbitmq server extensions.
The code is available in Github[1], and though Opam
Comments, Requests, bug reports, etc. are more than welcome.
/Anders
[1] https://github.com/andersfugmann/ocaml-amqp
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] ocaml-amqp 0.0.1
2015-11-01 8:05 [Caml-list] [ANN] ocaml-amqp 0.0.1 Anders Peter Fugmann
@ 2015-11-07 14:32 ` Marek Kubica
2015-11-07 18:45 ` Anders Peter Fugmann
0 siblings, 1 reply; 5+ messages in thread
From: Marek Kubica @ 2015-11-07 14:32 UTC (permalink / raw)
To: Anders Peter Fugmann; +Cc: caml-list
Hello Anders,
I'm very happy to see the announcement! Esp. that it has found its way
to OPAM. I was looking for AMQP libraries recently and found your on
Github some days ago.
Looking forward to try it, I could have potentially lot of uses for it!
On Sun, 1 Nov 2015 09:05:55 +0100
Anders Peter Fugmann <anders@fugmann.net> wrote:
> The library implements 0-9-1 specification of the protocol and
> support for some Rabbitmq server extensions.
Could you explain how it differs from netamqp? I see Issuu seems to
maintain a fork of netamqp that runs on current OCaml versions.
Also, are there plans to have an Lwt backend as well, in a similar way
to Cohttp?
regards,
Marek
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] ocaml-amqp 0.0.1
2015-11-07 14:32 ` Marek Kubica
@ 2015-11-07 18:45 ` Anders Peter Fugmann
2015-11-12 21:37 ` Marek Kubica
0 siblings, 1 reply; 5+ messages in thread
From: Anders Peter Fugmann @ 2015-11-07 18:45 UTC (permalink / raw)
To: Marek Kubica; +Cc: caml-list
On 07/11/15 15:32, Marek Kubica wrote:
> Hello Anders,
>
> I'm very happy to see the announcement! Esp. that it has found its way
> to OPAM. I was looking for AMQP libraries recently and found your on
> Github some days ago.
>
> Looking forward to try it, I could have potentially lot of uses for it!
Please let me know how it works out.
>
> On Sun, 1 Nov 2015 09:05:55 +0100
> Anders Peter Fugmann <anders@fugmann.net> wrote:
>
>> The library implements 0-9-1 specification of the protocol and
>> support for some Rabbitmq server extensions.
>
> Could you explain how it differs from netamqp? I see Issuu seems to
> maintain a fork of netamqp that runs on current OCaml versions.
The major difference is that netamqp is based on ocamlnet's async event
system whereas Ocaml-amqp is based on Core Async.
The bindings not only exposes the AMQP 0-9-1 protocol, but also
tries to give the developer a higher abstraction layer for using
standard Amqp patterns.
The library is written in my spare time, and has not yet been battle
tested in a production environment (Although I expect this to happen soon).
Please be aware that even though I do not expect major changes to the
API, the library is still in heavy development. Please send feedback,
including suggestions on the API so that these can be incorporated into
the next version.
>
> Also, are there plans to have an Lwt backend as well, in a similar way
> to Cohttp?
That is currently not a priority. I was considering it when I started
though.
>
> regards,
> Marek
>
Cheers
Anders
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] ocaml-amqp 0.0.1
2015-11-07 18:45 ` Anders Peter Fugmann
@ 2015-11-12 21:37 ` Marek Kubica
2015-11-12 22:33 ` Anders Peter Fugmann
0 siblings, 1 reply; 5+ messages in thread
From: Marek Kubica @ 2015-11-12 21:37 UTC (permalink / raw)
To: Anders Peter Fugmann; +Cc: caml-list
Hello,
On Sat, 7 Nov 2015 19:45:10 +0100
Anders Peter Fugmann <anders@fugmann.net> wrote:
> Please let me know how it works out.
I tried it and it seems to be working quite well. Very nice. Sending a
message based on the tests/main.ml works just fine, receiving it with
pika was no problem, similarly receiving with Langohr worked just as
well.
My biggest problem has, in fact been Async itself. As I tried to send a
single message via AMQP and then terminate the program I added the
Queue.publish call and then >>='d in a function which calls Async's
Shutdown. Unfortunately this terminates the Scheduler before it has a
chance to send the message. Need to explore more of Async to figure out
how to wait for the Deferred.t to be realized before shutting down.
> Please be aware that even though I do not expect major changes to the
> API, the library is still in heavy development. Please send feedback,
> including suggestions on the API so that these can be incorporated
> into the next version.
So far I haven't had issues with the API. But having some searchable
docs published somewhere would definitely be helpful.
regards,
Marek
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] ocaml-amqp 0.0.1
2015-11-12 21:37 ` Marek Kubica
@ 2015-11-12 22:33 ` Anders Peter Fugmann
0 siblings, 0 replies; 5+ messages in thread
From: Anders Peter Fugmann @ 2015-11-12 22:33 UTC (permalink / raw)
To: Marek Kubica; +Cc: caml-list
On 12/11/15 22:37, Marek Kubica wrote:
> Hello,
>
> On Sat, 7 Nov 2015 19:45:10 +0100
> Anders Peter Fugmann <anders@fugmann.net> wrote:
>
>> Please let me know how it works out.
>
> I tried it and it seems to be working quite well. Very nice. Sending a
> message based on the tests/main.ml works just fine, receiving it with
> pika was no problem, similarly receiving with Langohr worked just as
> well.
Glad to hear that.
Btw, which amqp-server have you tested against?
>
> My biggest problem has, in fact been Async itself. As I tried to send a
> single message via AMQP and then terminate the program I added the
> Queue.publish call and then >>='d in a function which calls Async's
> Shutdown. Unfortunately this terminates the Scheduler before it has a
> chance to send the message. Need to explore more of Async to figure out
> how to wait for the Deferred.t to be realized before shutting down.
Async is not to blame here.
The answer should have been 'just close the channel / connection to make
sure all queues are flushed', but it seems I forgot to implement it. I
will try and implement it this weekend, along with per message and per
queue flushing.
In the meantime, if you are using rabbitmq then you can enable confirms
when creating the channel. Publishing will then return only when
rabbitmq has acknowledged the message.
>
>> Please be aware that even though I do not expect major changes to the
>> API, the library is still in heavy development. Please send feedback,
>> including suggestions on the API so that these can be incorporated
>> into the next version.
>
> So far I haven't had issues with the API. But having some searchable
> docs published somewhere would definitely be helpful.
I don't know how to make is searchable, but ocamldoc generated
documentation is available there:
http://andersfugmann.github.io/ocaml-amqp/
>
> regards,
> Marek
>
/Anders
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-11-12 22:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-01 8:05 [Caml-list] [ANN] ocaml-amqp 0.0.1 Anders Peter Fugmann
2015-11-07 14:32 ` Marek Kubica
2015-11-07 18:45 ` Anders Peter Fugmann
2015-11-12 21:37 ` Marek Kubica
2015-11-12 22:33 ` Anders Peter Fugmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox