Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | HiPE credit_flow - this gets MCM -x 1 -y 1 -i 5 from 29.5kHz to 30.8kHz.bug24664 | Simon MacMullen | 2012-01-18 | 1 | -1/+1 |
| | |||||
* | For direct client we *do* want the reader pid (amqp_channel) rather than the ↵ | Simon MacMullen | 2012-01-18 | 1 | -2/+3 |
| | | | | conn_pid (amqp_direct_connection) here. | ||||
* | make flow control explicit in the channel API | Matthias Radestock | 2012-01-16 | 2 | -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 code | Matthias Radestock | 2012-01-16 | 1 | -28/+11 |
| | |||||
* | only monitor publishers when they publish with flow control | Matthias Radestock | 2012-01-16 | 1 | -2/+2 |
| | |||||
* | provide two flavours of rabbit_amqqueue:deliver | Matthias Radestock | 2012-01-16 | 4 | -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 bug24664 | Matthias Radestock | 2012-01-16 | 7 | -92/+67 |
|\ | |||||
| * | Merge bug24681 | Simon MacMullen | 2012-01-16 | 0 | -0/+0 |
| |\ | |||||
| * | | merge rabbit_router:deliver into rabbit_amqqueue:deliverbug24681 | Matthias Radestock | 2012-01-16 | 7 | -92/+67 |
| |/ | |||||
| * | Revert b03fe604af24. Not enough sleep. | Simon MacMullen | 2012-01-13 | 1 | -2/+2 |
| | | |||||
| * | Merge bug 24673 | Simon MacMullen | 2012-01-13 | 0 | -0/+0 |
| |\ | |||||
| * | | Emit the timeout in the stats event.bug24673 | Simon MacMullen | 2012-01-13 | 1 | -2/+2 |
| |/ | |||||
* | | it's really not worthwhile exporting process_channel_frame | Matthias Radestock | 2012-01-16 | 1 | -21/+5 |
| | | |||||
* | | do not hard-wire the channel interaction into process_channel_frame | Matthias Radestock | 2012-01-13 | 1 | -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 MacMullen | 2012-01-13 | 1 | -2/+3 |
| | | |||||
* | | sender_down / receiver_down -> peer_down. | Simon MacMullen | 2012-01-13 | 5 | -14/+11 |
| | | |||||
* | | Merge heads of bug 24664 again. | Simon MacMullen | 2012-01-13 | 5 | -13/+13 |
|\ \ | |||||
| * | | rabbit_flow -> credit_flow | Simon MacMullen | 2012-01-13 | 5 | -13/+13 |
| | | | |||||
* | | | cosmetic(ish) | Matthias Radestock | 2012-01-13 | 1 | -5/+5 |
|/ / | |||||
* | | Merge heads of bug 24664 | Simon MacMullen | 2012-01-13 | 1 | -21/+23 |
|\ \ | |||||
| * | | update 'last_blocked_by' while blocked | Matthias Radestock | 2012-01-13 | 1 | -21/+23 |
| | | | |||||
* | | | Move rabbit_flow:send invocation from router into channel; monitor all ↵ | Simon MacMullen | 2012-01-13 | 2 | -71/+60 |
|/ / | | | | | | | queues in the channel. | ||||
* | | apply flow control to content bearing methods only | Matthias Radestock | 2012-01-13 | 2 | -3/+5 |
| | | |||||
* | | unblock, if possible, when channels disappear | Matthias Radestock | 2012-01-13 | 1 | -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 transitions | Matthias Radestock | 2012-01-13 | 3 | -80/+55 |
| | | | | | | | | also more sensible info items | ||||
* | | merge default into bug24664 | Matthias Radestock | 2012-01-13 | 7 | -57/+58 |
|\ \ | |/ | |||||
| * | a little bit of refactoring on the reader | Matthias Radestock | 2012-01-12 | 1 | -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 more | Emile Joubert | 2012-01-12 | 1 | -3/+5 |
| |\ | |||||
| | * | oopsbug24636 | Matthias Radestock | 2012-01-12 | 1 | -3/+5 |
| | | | |||||
| * | | Merged bug24636 into default | Emile Joubert | 2012-01-12 | 3 | -3/+3 |
| |\ \ | | |/ | |/| | |||||
| | * | Merged bug24665 into default | Emile Joubert | 2012-01-10 | 1 | -2/+1 |
| | |\ | |||||
| | * | | don't start cpu_supbug24617 | Matthias Radestock | 2012-01-09 | 3 | -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 obvious | Matthias Radestock | 2012-01-11 | 2 | -7/+7 |
| | | | | | | | | | | | | | | | | | | | | - and arrange them in limit/used order - and make process count info look the same | ||||
| * | | | cosmetic | Matthias Radestock | 2012-01-10 | 1 | -11/+11 |
| | | | | |||||
| * | | | include a few more pieces of info in rabbit:status | Matthias Radestock | 2012-01-10 | 1 | -1/+8 |
| | | | | | | | | | | | | | | | | stuff reported in management that isn't reported elsewhere already. | ||||
| * | | | include fd info in rabbit:status() | Matthias Radestock | 2012-01-10 | 3 | -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 comment | Matthias Radestock | 2012-01-10 | 1 | -2/+1 |
| |/ | |||||
* | | Attempt to show information about blocking due to memory alarm and flow ↵ | Simon MacMullen | 2012-01-12 | 3 | -7/+45 |
| | | | | | | | | control in a more comprehensible manner. | ||||
* | | Flow control: channel -> queue slave | Simon MacMullen | 2012-01-12 | 1 | -3/+5 |
| | | |||||
* | | Avert eyesore. | Simon MacMullen | 2012-01-12 | 1 | -5/+3 |
| | | |||||
* | | Have queues monitor publishing channels so we can remove them from the flow ↵ | Simon MacMullen | 2012-01-12 | 2 | -3/+41 |
| | | | | | | | | data. | ||||
* | | Rename bump/1 to handle_bump_msg/1, add a comment and specs. | Simon MacMullen | 2012-01-12 | 3 | -6/+31 |
| | | |||||
* | | Matthias points out that we don't need to remember that a pid has gone away: ↵ | Simon MacMullen | 2012-01-12 | 1 | -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 MacMullen | 2012-01-12 | 3 | -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 MacMullen | 2012-01-12 | 1 | -8/+14 |
| | | | | | | | | simultaneously. | ||||
* | | Ahem++ | Simon MacMullen | 2012-01-12 | 1 | -2/+2 |
| | | |||||
* | | Refactor / tidy, and sneakily fix an off-by-one error (ahem). | Simon MacMullen | 2012-01-12 | 1 | -20/+13 |
| | | |||||
* | | Oops. | Simon MacMullen | 2012-01-12 | 1 | -1/+1 |
| | | |||||
* | | Actually we should use conn_pid here since that goes to the same place for ↵ | Simon MacMullen | 2012-01-11 | 1 | -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 MacMullen | 2012-01-11 | 5 | -47/+54 |
| | | | | | | | | calling reader:conserve_memory. This allows us to abstract much more into rabbit_flow, and is more general. Also rename some functions. |