Alexandru Scvortov
4343df471e
expose connection_timeout amqp_params_network option
2011-10-24 15:11:04 +01:00
Alexandru Scvortov
680957725b
merge default into bug23117
2011-07-18 14:52:56 +01:00
Alexandru Scvortov
8cd2f37cdd
refactor
2011-07-13 12:27:19 +01:00
Alexandru Scvortov
227f0db0f4
reorder clauses and complete specs
2011-07-11 17:29:42 +01:00
Matthew Sackman
339d9473c2
Define ssl port as normal port -1, as we used to
2011-07-10 12:57:26 +01:00
Alexandru Scvortov
8b4fe69c2f
handle_info instead of handle_down
2011-07-05 15:42:48 +01:00
Alexandru Scvortov
7cb1e09e09
undefined instead of auto
...
Because that's a bit more commonly used (e.g. the shovel uses it)
2011-07-05 11:24:15 +01:00
Alexandru Scvortov
0b8d25b4e6
auto-select ports for normal and ssl connections
...
Also, unbreak SSL tests.
2011-07-04 12:19:04 +01:00
Alexandru Scvortov
abec59c14f
use monitors instead of links
...
The consumer module is notified via handle_down/4 that a process it
was monitoring went down.
2011-06-29 12:42:31 +01:00
Alexandru Scvortov
a0edd38fba
remove channel:subscribe
...
It's enough to
amqp_channel:call(Ch, #'basic.consume'{queue = Queue})
now.
The consumer module is also notified of basic.consume methods, so it
can associate Pids with Tags at that point.
2011-06-29 11:32:24 +01:00
Alexandru Scvortov
c30773776a
turned consumers into separate processes
2011-06-28 15:24:22 +01:00
Simon MacMullen
df2569d084
Add an additional info mechanism to the adapter info record. I'm not sure whether this draws the line in the right place, but adding 8 SSL fields to that record didn't feel right.
2011-06-07 18:07:31 +01:00
Vlad Alexandru Ionescu
d41da6b2a0
adding possibility of deferred reply in gen consumer's handle_call callback; doc tweak in selective consumer; fixing reply on error in subscribe
2011-06-03 20:32:16 -05:00
Vlad Alexandru Ionescu
8ebc517a29
removing documentation dummy functions in amqp_gen_consumer.erl; fixing license year for new files; fixing style in amqp_gen_consumer's specs
2011-06-03 18:00:46 -05:00
Vlad Alexandru Ionescu
af065e3315
merging in from default
2011-06-03 17:01:38 -05:00
Simon MacMullen
5650f0fed0
Separate out different types for network and direct connections, don't check the password for direct ones.
2011-05-03 15:35:25 +01:00
Vlad Alexandru Ionescu
68e174810e
fixing amqp_gen_consumer specs and doc
2011-04-19 16:35:14 -05:00
Vlad Alexandru Ionescu
4648e51782
merging in from default
2011-04-19 14:05:07 -05:00
Vlad Alexandru Ionescu
077275abf5
adding amqp_direct_consumer and amqp_selective_consumer implementations; fixing tests
2011-03-30 18:55:19 +01:00
Vlad Alexandru Ionescu
e9b272e7ad
introducing initial amqp_gen_consumer
2011-03-30 14:30:31 +01:00
Simon MacMullen
a7e7d367de
Restart bug23350. This sort of works, but still has the problem that connections and channels do not line up.
2011-03-15 17:03:19 +00:00
Matthew Sackman
a9880d4a29
Rename
2011-02-21 17:30:26 +00:00
Matthew Sackman
b1454d8e0a
Add support for consumer death notifications
2011-02-17 17:42:26 +00:00
Matthew Sackman
54ce5ad9fe
Adjust direct connection and reabstract to pass through capabilities to direct client channels and over network connection
2011-02-14 18:11:28 +00:00
Vlad Alexandru Ionescu
2359429a5a
merging in from default
2011-01-27 13:48:49 +00:00
Vlad Alexandru Ionescu
41f73f2a80
updating license year
2011-01-20 15:40:16 +00:00
Vlad Alexandru Ionescu
8a36584a8f
adding support for connecting to broker in another cluster via direct connection
2011-01-19 21:25:44 +00:00
Simon MacMullen
a1a26d97cd
Pluggable auth mechanisms in the Erlang client, with PLAIN and AMQPLAIN implementations.
2010-11-12 18:32:38 +00:00
Vlad Alexandru Ionescu
9bdcfde17f
updating license boilerplate
2010-11-04 17:35:36 +00:00
Vlad Alexandru Ionescu
eed0fd2ab2
updating license boilerplate in all files
2010-10-28 16:37:10 +01:00
Vlad Alexandru Ionescu
7196bfac10
merging in from default
2010-08-03 17:06:50 +01:00
Vlad Alexandru Ionescu
992f3ab86e
merging in from default
2010-08-02 15:32:44 +01:00
Simon MacMullen
7a5eb8b177
Move changes from amqp_0_9_1 branch to a bug branch.
2010-08-02 15:07:26 +01:00
Vlad Ionescu
e51fb6db69
major refactoring to supervise all processes; amqp_connection_{network,direct} processes now lives under amqp_connection_sup which uses amqp_infra_sup; amqp_channel now lives under amqp_channel_sup which uses amqp_infra_sup; amqp_channel_sup lives under amqp_channel_sup_sup which lives under amqp_connection_sup; adapting all processes to work with the supervision model; changing the way to start connections in the API; other smaller fixes
2010-07-26 17:31:21 +01:00
Simon MacMullen
fe89002e24
Fix up the Erlang client.
2010-07-02 16:04:46 +01:00
Simon MacMullen
8a61be28ef
Make the Erlang client work again.
2010-06-25 12:01:12 +01:00
Vlad Ionescu
10634c3216
additional client properties can now be supplied through #amqp_params
2010-02-14 18:41:32 +00:00
Ben Hood
c8e54fc858
Added maximum negotiation and protocol version checking
2009-11-05 17:54:10 +00:00
Ben Hood
525987fa50
Merged default into bug21619
2009-11-05 15:39:18 +00:00
Vlad Ionescu
3f64bb7338
better channel number choosing algorithm; using channel_max field in 'connection.tune'
2009-10-28 21:54:47 +00:00
Vlad Ionescu
3bf9936704
moving rpc server and client state records to their respective modules; adding rpc_test to the direct client suite as well
2009-10-28 16:59:36 +00:00
Vlad Ionescu
cdb3e96174
splitting amqp_connection; removing driver modules; adding module for main reader; adding amqp_channel_util module; all tests pass, need to review and test further, some code duplication to be removed
2009-10-21 20:44:27 +01:00
Vlad Ionescu
e7687ed879
merging from default
2009-10-16 16:28:16 +01:00
Vlad Ionescu
1040e55b17
removing use of gen_event in return handler; trapping EXITs from handlers to unregister them
2009-10-14 21:08:24 +01:00
Vlad Ionescu
cd418bc188
major redesign of amqp_connection's closing mechanism
2009-10-14 16:37:46 +01:00
Vlad Ionescu
35356e4143
framing channel is now started from the channel process and monitored by the main reader; refactoring exit trapping in amqp_connection; refactoring channel registration in amqp_connection
2009-09-11 17:15:38 +01:00
Vlad Ionescu
6358042351
refactoring open_channel: now mostly done in the channel process - simpler, more readable; refactoring of managing the framing channel to follow
2009-09-11 13:41:03 +01:00
Ben Hood
684312d70e
Introduced a closing state when the broker initiates the shutdown. This allows
...
the socket reader process to wait for the broker to close the socket (or
timeout) before stopping amqp_connection process. Squirrel the close
reason away in the state of the connection process. The resulting EXIT message
from the reader process is trapped and then the close reason that was
squirreled away can is used as the EXIT reason of the amqp_connection
process.
Because the amqp_channel process links to the connection process, it will
receive the same EXIT reason and return it to whatever application
process is using the amqp_channel process.
The network driver sees some minor defintion cleanups as well as removing
the link between the amqp_channel_process and the rabbit_framing_channel
process -
this is because the amqp_channel is not able to sensibly handle any exit
the framing channel will send.
Made the teardown routine assert that the channel and connection
processes are in actual fact dead after having closed the connection for every test.
The connection process does not shutdown synchronously.
Also put some repetitions into the tests that were experiencing race conditions.
2009-09-01 13:47:40 +01:00
Ben Hood
c7d1554a90
Somehow some io:formats got merged in from the SSL branch I think
2009-08-27 16:05:38 +01:00
Matthew Sackman
2bcad96b6c
merge in from default
2009-08-26 16:51:27 +01:00
Ben Hood
37782188e8
Got rid of all io:format calls
2009-08-25 23:32:10 +01:00
Matthew Sackman
f33199844a
merging in from default
2009-08-25 14:25:07 +01:00
Matthew Sackman
ee63ef3a3e
merging in from default
2009-08-25 14:00:34 +01:00
Ben Hood
73ecdc58f0
Put a default in for the payload field
2009-08-25 11:44:56 +01:00
Ben Hood
c512cfa057
Got all tests working
2009-08-21 19:15:27 +01:00
Ben Hood
d738b45fd1
The host name in gen_tcp:connect/3 is a list, not a binary
2009-08-21 17:28:38 +01:00
Ben Hood
9885f7a673
Merged default into bug21336
2009-08-19 10:11:31 +01:00
Ben Hood
f2a4cebb38
Deleted code references to amqp_util, just the documentation is left
2009-08-19 00:51:25 +01:00
Ben Hood
80697b3b1c
rabbit.hrl and rabbit_framing.hrl now get included in amqp_client.hrl
2009-08-18 18:21:04 +01:00
Ben Hood
ceca7be9e5
Fixed some QA remarks
2009-08-16 18:03:29 +01:00
Ben Hood
73d513c8f1
Completed edoc comments, made the amqp_client.hrl include the necessary server headers
2009-08-16 15:45:50 +01:00
Ben Hood
6e07c58f38
Merged bug21406 into default
2009-08-14 18:28:29 +01:00
Matthias Radestock
83720498d7
introduce #amqp_connection_parameters
...
containing sensible defaults. This is used in all the
amqp_connection:start* methods, replacing the bewildering variety of
previou start* functions.
2009-08-13 07:33:25 +01:00
Matthias Radestock
fd8010334c
do not export amqp_connection:start_direct/3
2009-08-13 07:03:20 +01:00
Ben Hood
861d2e8f2a
Introduced amqp_msg record to be friendlier to higher level code
2009-08-05 14:17:34 +01:00
Matthias Radestock
1b45959879
mostly cosmetic changes
...
but also:
- use (default) 'undefined' value to indicate absence of ssl opts
- consistently disambiguate start functions by guarding with is_list(SslOpts)
2009-07-21 11:48:54 +01:00
Essien Ita Essien
263fa7e894
Merge with upstream. Port can now explicitly specified
2009-07-21 09:42:19 +01:00
Vlad Ionescu
80c3941dda
adding port number as optional parameter to start_connection; removing getting port number from env var
2009-07-10 15:45:27 +01:00
Essien Ita Essien
67410d07aa
Just use a proplist. A record is an overkill
2009-01-12 13:38:59 +01:00
Essien Ita Essien
00c8e682ed
Merge with upstream.
2009-01-12 13:16:02 +01:00
Essien Ita Essien
fcab527afa
Replace the 3 ssl fields in the connection_state record with a
...
single record 'sslopts'.
2009-01-12 12:18:03 +01:00
Ben Hood
70c7c81462
Merged default into 19373
2009-01-07 21:14:49 +00:00
Matthias Radestock
ea798a505b
merge bug19625 into default
2009-01-07 17:17:57 +00:00
Essien Ita Essien
7d36c0c6a6
Merge with rabbitmq.com repo
2008-12-29 09:02:04 +01:00
Ben Hood
4f4989ce13
Removed unecessary unsubscribe, replaced with channel close
2008-12-23 14:35:43 +00:00
Essien Ita Essien
fb73ddff96
Extend the connection_state record to hold needed ssl info
...
cacertfile, certfile and keyfile
2008-12-20 23:14:05 +01:00
Ben Hood
53836566ae
Removed unecessary flag
2008-12-07 16:31:42 +00:00
Ben Hood
33d6b53a3a
Massaged module paramterization into something more manageable
2008-12-07 16:21:01 +00:00
Ben Hood
3b8618d974
Merged 19344 into 19625
2008-12-07 14:40:00 +00:00
Ben Hood
d0fb16d27e
RPC server does not have to be a process
2008-12-07 14:15:57 +00:00
Ben Hood
83194ea15f
Merged 19560 into 19344
2008-12-07 13:44:56 +00:00
Ben Hood
9b74a90635
Removed queueing from amqp_channel:call/3 because it could get quite dodgy.
...
If for example the application times out, the messages will get silently get sent to the broker and the application will be none the wiser.
2008-11-12 23:35:29 +00:00
Ben Hood
f7391f1cf5
Added publish call
2008-11-12 19:17:22 +00:00
Ben Hood
26cd77cc37
First cut at handling channel.flow in the Erlang client
2008-11-09 22:19:18 +00:00
Ben Hood
6c1106d5ca
Added close handler to network driver
2008-10-27 16:15:19 +00:00
Ben Hood
bbc32c42f9
Grepped occurances of tickets
2008-09-11 13:01:52 +01:00
Ben Hood
cb8cc4fccb
Grepped the source code for references to realms and removed them
2008-09-11 12:53:00 +01:00
Ben Hood
299b71265b
Streamlined the client, got it to a compilable state
2008-09-07 23:53:39 +01:00
0x6e6562
fe61df8970
Converted tabs to spaces
2008-05-12 22:02:20 +00:00
0x6e6562
8ea9dde2b0
Channel Writer process is now shutdown in the network case
2008-05-12 20:31:22 +00:00
0x6e6562
2a20c05029
Subscriptions can now be requested concurrently
2008-05-12 18:02:16 +00:00
0x6e6562
00f52e9b86
Synchronous RPC requests are now queued up and dispatched serially
2008-05-09 22:55:14 +00:00
0x6e6562
e7014721d4
Added return handler for basic returns
2008-01-10 12:04:16 +00:00
0x6e6562
a308a6a3ae
Ditched next_delivery_tag
2008-01-09 08:57:42 +00:00
0x6e6562
00f6419397
Removed unecessary tx setting
2008-01-07 17:46:31 +00:00
0x6e6562
5a821f018c
Upgraded to rabbit 200712231445 snapshot
2008-01-06 22:05:00 +00:00
0x6e6562
0e68ca1411
Added supervisor behaviour for management
2007-12-10 23:26:40 +00:00
0x6e6562
b0b8cc3522
Added java interface to the rabbit_access_control module
2007-12-03 00:08:13 +00:00
simon@lshift.net
2771cc5efa
Bug 17356: Add copyright headers since they're currently lacking
2007-10-29 13:33:02 +00:00
0x6e6562@gmail.com
f4525ea336
merge of '0e53ebaee463865755981a06f200b7fce3a65534'
...
and '7941af4b3c4d5de328a342abdcc3513bf8221949'
2007-10-17 22:53:51 +00:00