summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* HiPE credit_flow - this gets MCM -x 1 -y 1 -i 5 from 29.5kHz to 30.8kHz.bug24664Simon MacMullen2012-01-181-1/+1
|
* For direct client we *do* want the reader pid (amqp_channel) rather than the ↵Simon MacMullen2012-01-181-2/+3
| | | | conn_pid (amqp_direct_connection) here.
* make flow control explicit in the channel APIMatthias Radestock2012-01-162-9/+14
| | | | | | just as we did for the queue As a result the existing call sites of rabbit_channel:do, e.g. in rabbit_test and the erlang client, can be left alone.
* simplify publisher monitoring codeMatthias Radestock2012-01-161-28/+11
|
* only monitor publishers when they publish with flow controlMatthias Radestock2012-01-161-2/+2
|
* provide two flavours of rabbit_amqqueue:deliverMatthias Radestock2012-01-164-44/+56
| | | | | | | | | | - one with flow control and one without This allows us to leave the various existing call sites of rabbit_amqqueue:deliver unchanged, and only subject the channel to flow control. It also reduces the distance between the two places that need to know which messages should be subject to flow control by moving the rabbit_flow invocation logic from the channel into rabbit_amqqueue.
* merge default into bug24664Matthias Radestock2012-01-167-92/+67
|\
| * Merge bug24681Simon MacMullen2012-01-160-0/+0
| |\
| * | merge rabbit_router:deliver into rabbit_amqqueue:deliverbug24681Matthias Radestock2012-01-167-92/+67
| |/
| * Revert b03fe604af24. Not enough sleep.Simon MacMullen2012-01-131-2/+2
| |
| * Merge bug 24673Simon MacMullen2012-01-130-0/+0
| |\
| * | Emit the timeout in the stats event.bug24673Simon MacMullen2012-01-131-2/+2
| |/
* | it's really not worthwhile exporting process_channel_frameMatthias Radestock2012-01-161-21/+5
| |
* | do not hard-wire the channel interaction into process_channel_frameMatthias Radestock2012-01-131-12/+20
| | | | | | | | | | This makes that function more versatile, e.g. permitting the Erlang client to skip the credit_flow:send step.
* | Reinstate a bit of code that accidentally got nuked in 9a87718c74df.Simon MacMullen2012-01-131-2/+3
| |
* | sender_down / receiver_down -> peer_down.Simon MacMullen2012-01-135-14/+11
| |
* | Merge heads of bug 24664 again.Simon MacMullen2012-01-135-13/+13
|\ \
| * | rabbit_flow -> credit_flowSimon MacMullen2012-01-135-13/+13
| | |
* | | cosmetic(ish)Matthias Radestock2012-01-131-5/+5
|/ /
* | Merge heads of bug 24664Simon MacMullen2012-01-131-21/+23
|\ \
| * | update 'last_blocked_by' while blockedMatthias Radestock2012-01-131-21/+23
| | |
* | | Move rabbit_flow:send invocation from router into channel; monitor all ↵Simon MacMullen2012-01-132-71/+60
|/ / | | | | | | queues in the channel.
* | apply flow control to content bearing methods onlyMatthias Radestock2012-01-132-3/+5
| |
* | unblock, if possible, when channels disappearMatthias Radestock2012-01-131-4/+5
| | | | | | | | | | | | We do this in all call sites of channel_cleanup, except in wait_for_channel_termination, since there we know we are about to enter the 'closed' state, which unblocks us anyway.
* | simplified running<->blocking/blocked state transitionsMatthias Radestock2012-01-133-80/+55
| | | | | | | | also more sensible info items
* | merge default into bug24664Matthias Radestock2012-01-137-57/+58
|\ \ | |/
| * a little bit of refactoring on the readerMatthias Radestock2012-01-121-35/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - move the 'blocked'-induced heartbeater disabling to the point at which the transition to the 'blocked' state takes place. This makes the correlation between these two events more obvious. It also prevents duplicate invocations of rabbit_heartbeat:pause_monitor/1, which hitherto was accomplished by relying on switch_callback/3 never getting called while 'blocked' - an assumption that could easily become invalid one day. - a little bit of inlining of timeout calculation code in close_connection/1. - more compact case handling in handle_dependent_exit/3 and wait_for_channel_termination/2.
| * Merge bug24636 moreEmile Joubert2012-01-121-3/+5
| |\
| | * oopsbug24636Matthias Radestock2012-01-121-3/+5
| | |
| * | Merged bug24636 into defaultEmile Joubert2012-01-123-3/+3
| |\ \ | | |/ | |/|
| | * Merged bug24665 into defaultEmile Joubert2012-01-101-2/+1
| | |\
| | * | don't start cpu_supbug24617Matthias Radestock2012-01-093-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We've not needed this for some time. Note that we still need to a) depend on os_mon (it's needed for memory reporting under windows), and b) disable various bits of os_mon explicitly since they otherwise start up by default.
| * | | rename fd stats items to make their meaning more obviousMatthias Radestock2012-01-112-7/+7
| | | | | | | | | | | | | | | | | | | | - and arrange them in limit/used order - and make process count info look the same
| * | | cosmeticMatthias Radestock2012-01-101-11/+11
| | | |
| * | | include a few more pieces of info in rabbit:statusMatthias Radestock2012-01-101-1/+8
| | | | | | | | | | | | | | | | stuff reported in management that isn't reported elsewhere already.
| * | | include fd info in rabbit:status()Matthias Radestock2012-01-103-17/+22
| | |/ | |/| | | | | | | | | | | | | | | | There is a slight layer violation here - we label the info items with 'socket...', which is correct in the rabbit context but really could be any fd in other contexts. Note though that we already mentioned sockets in the log message produced on startup.
| * | cosmetic: remove nonsensical commentMatthias Radestock2012-01-101-2/+1
| |/
* | Attempt to show information about blocking due to memory alarm and flow ↵Simon MacMullen2012-01-123-7/+45
| | | | | | | | control in a more comprehensible manner.
* | Flow control: channel -> queue slaveSimon MacMullen2012-01-121-3/+5
| |
* | Avert eyesore.Simon MacMullen2012-01-121-5/+3
| |
* | Have queues monitor publishing channels so we can remove them from the flow ↵Simon MacMullen2012-01-122-3/+41
| | | | | | | | data.
* | Rename bump/1 to handle_bump_msg/1, add a comment and specs.Simon MacMullen2012-01-123-6/+31
| |
* | Matthias points out that we don't need to remember that a pid has gone away: ↵Simon MacMullen2012-01-121-8/+2
| | | | | | | | if by some chance we end up talking to it again we'll end up monitoring it again and then noticing it is down, and we'll always have ?MAX_CREDIT available each time.
* | Improve book-keeping - now we treat a receiver having gone away as granting ↵Simon MacMullen2012-01-123-19/+19
| | | | | | | | us infinite credit, so we can pump out our remaining messages. We now don't leak connections any more.
* | Allow one sending process to be blocked by more than one receiving process ↵Simon MacMullen2012-01-121-8/+14
| | | | | | | | simultaneously.
* | Ahem++Simon MacMullen2012-01-121-2/+2
| |
* | Refactor / tidy, and sneakily fix an off-by-one error (ahem).Simon MacMullen2012-01-121-20/+13
| |
* | Oops.Simon MacMullen2012-01-121-1/+1
| |
* | Actually we should use conn_pid here since that goes to the same place for ↵Simon MacMullen2012-01-111-2/+2
| | | | | | | | network connections and a more reasonable place for direct ones.
* | Get the channel to "block" by not issuing any more credit, rather than ↵Simon MacMullen2012-01-115-47/+54
| | | | | | | | calling reader:conserve_memory. This allows us to abstract much more into rabbit_flow, and is more general. Also rename some functions.