summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* simplify property decoderMatthias Radestock2012-11-041-35/+16
| | | | | | functions instead of macros, which gives the same performance in the fast "no properties" path and only causes a tiny loss (if any) otherwise.
* cosmeticMatthias Radestock2012-11-031-41/+43
|
* cosmetic: vertical alignment / shrinkageMatthias Radestock2012-11-032-81/+42
|
* Merge bug23225Simon MacMullen2012-11-024-34/+63
|\
| * only trigger stats emission from writers in the serverMatthias Radestock2012-11-023-16/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (and not the Erlang client) The server (and *only* the server) starts channels with rabbit_channel_sup:start_link({tcp, ...}). Writers are created as part of that. We pass an extra argument to rabbit_writer:start_link in this case, indicating that the reader wants be told by the writer to emit stats. Internally, the writer handles the stats/no_stats distinction by initialising the stats timer differently. We introduce a new function to create a disabled stats timer, thus taking advantage of all the existing logic in rabbit_event that suppresses timer/stats operations when stats are disabled. This approach requires inclusion of rabbit_event in rabbit_common.
| * ensure connection stats emission for write-only connectionsMatthias Radestock2012-11-012-30/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We set up a stats timer in the writers but rather emitting any stats directly from there we just get them to 'ping' the reader, which will then emit stats based on its own timer. The timer in the writer is created when a socket operation has been confirmed. a little bit of drive-by refactoring to make implementation easier: - move state creation into one place - move reader into state TODO: suppress all this when in the Erlang client
* | Merge bug25262Simon MacMullen2012-11-011-1/+1
|\ \
| * \ Merge bug25263Simon MacMullen2012-11-010-0/+0
| |\ \ | | |/
| * | fix heinous bugMatthias Radestock2012-11-011-1/+1
| |/
* | sort list_* resultsMatthias Radestock2012-11-011-1/+1
|/
* Merge bug25164Simon MacMullen2012-11-016-55/+98
|\
| * refactor: s/lookup_absent/not_found_or_absentMatthias Radestock2012-10-312-21/+17
| | | | | | | | | | and s/not_found_or_absent/not_found_or_absent_dirty and make the signatures match
| * merge default into bug25164Matthias Radestock2012-10-316-55/+102
| |\ |/ /
| * merge default into bug25164Matthias Radestock2012-10-245-52/+98
| |\
| | * better error messages for 'absent' queues in binding commandsMatthias Radestock2012-10-243-24/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - change binding:call_with_source_and_destination/3 to replace {error, source_not_found | destination_not_found | source_and_destination_not_found} with {error, {resources_missing, [{not_found, #resource{}} | {absent, Q}]}}. - the change ripples through rabbit_channel:binding_action, which can now produce nice not_founds. - We now only report one of the errors when there is something wrong with both source and destination. I reckon this is acceptable; we could do better but it would involve a fair bit of extra code.
| | * better error messages for 'absent' queues in various commandsMatthias Radestock2012-10-243-25/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - move channel:absent/1 to misc, since we need it in multiple modules - change amqqueue:with/3 s.t. the error fun is invoked with not_found|{'absent', Q}. - let this change ripple through to with/2, making it return either error. This in turn has just two call sites - in 'queue.declare' in the channel, which we expand to handle the 'absent' case (producing a descriptive not_found error, as per above) - in mq_misc:if_mirrored_queue, whose callers currently do not handle errors at all - see bug 25236 - let the change also ripple through to with_or_die, handling the new 'absent' case as above. This takes care of passive queue.declare. - with_or_die is called by with_exclusive_access_or_die. This takes care of basic.get, basic.consume, queue.delete and queue.purge
| | * better error messages for 'absent' queues on declarationMatthias Radestock2012-10-243-18/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - change amqqueue:internal_declare to return {absent, Q} instead of 'not_found' - let this ripple through amqqueue_process:declare, stopping with {absent, Q} instead - that in in turn will end up in in amqqueue:declare/5. Instead of inovking misc:not_found(QName), which was EXITing, we make {absent, Q} part of the API. - at the call site in the channel we handle the new {absent, Q} case and produce a nice error message.
* | | HA optimisation: don't broadcast 'drop' when nothing has been droppedMatthias Radestock2012-10-311-1/+4
| | |
* | | fix R12B-3 build breakageMatthias Radestock2012-10-301-3/+3
| | | | | | | | | | | | | | | looks like one cannot define two macros with the same name but different arity
* | | merge bug25258 into defaultMatthias Radestock2012-10-294-11/+116
|\ \ \
| * \ \ merge headsMatthias Radestock2012-10-291-58/+45
| |\ \ \
| * \ \ \ Merge headsSimon MacMullen2012-10-294-11/+116
| |\ \ \ \
| | * \ \ \ Merge bug25244Simon MacMullen2012-10-294-11/+116
| | |\ \ \ \
| | | * | | | An extensive list of transformations lead me here. I think this is more ↵Simon MacMullen2012-10-291-58/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | readable.
| | | * | | | Rearrange args to put the big structure we're working with at the end; more ↵Simon MacMullen2012-10-291-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | OTPish. Yes, rabbit_misc:table_lookup and rabbit_misc:set_table_value get this wrong, but we should not copy that.
| | | * | | | Refactor a bitSimon MacMullen2012-10-291-17/+12
| | | | | | |
| | | * | | | make basic tests fit into rabbit_tests a bit more cleanlyTim Watson2012-10-291-74/+76
| | | | | | |
| | | * | | | refactorTim Watson2012-10-291-15/+15
| | | | | | |
| | | * | | | migrate rabbit_basic tests to rabbit_testsTim Watson2012-10-292-111/+84
| | | | | | |
| | | * | | | fix specTim Watson2012-10-251-1/+1
| | | | | | |
| | | * | | | merge defaultTim Watson2012-10-255-10/+157
| | | |\ \ \ \
| | | | * | | | accumulate invalid headers carefully, considering even misconfigured ↵Tim Watson2012-10-252-9/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x-invalid-headers
| | | | * | | | we do not 'append' to the listTim Watson2012-10-252-6/+6
| | | | | | | |
| | | | * | | | test for correct prepending of table headersTim Watson2012-10-251-5/+25
| | | | | | | |
| | | | * | | | move invalid headers into a special 'invalid headers table' headerTim Watson2012-10-254-4/+64
| | | | | | | |
| | | | * | | | don't crash when appending table headers if the previous header wasn't an arrayTim Watson2012-10-241-2/+2
| | | | | | | |
* | | | | | | | keep track of connection name in reader stateMatthias Radestock2012-10-291-8/+9
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | That way we won't trip over socket errors when obtaining the name later on. Should also be more efficient.
* | | | | | | cosmeticMatthias Radestock2012-10-291-58/+45
|/ / / / / /
* | | | | | cosmeticMatthias Radestock2012-10-291-12/+13
| | | | | |
* | | | | | Merged bug25236 into defaultEmile Joubert2012-10-292-4/+6
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Yet another way in which add_mirror / drop_mirror "failing" can be OK really.Simon MacMullen2012-10-262-4/+6
| | | | | |
* | | | | | Merge to default againSimon MacMullen2012-10-291-3/+3
|\ \ \ \ \ \
| * | | | | | FormattingSimon MacMullen2012-10-291-3/+3
| | | | | | |
* | | | | | | Merge bug24719Simon MacMullen2012-10-293-31/+51
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Shorter.Simon MacMullen2012-10-291-19/+10
| | | | | | |
| * | | | | | correct docsMatthias Radestock2012-10-261-6/+7
| | | | | | |
| * | | | | | remove cruft from display of missing pluginsMatthias Radestock2012-10-261-5/+16
| | | | | | |
| * | | | | | we can have both missing plugins and missing dependenciesMatthias Radestock2012-10-261-7/+9
| | | | | | |
| * | | | | | simplifyMatthias Radestock2012-10-261-13/+7
| | | | | | |
| * | | | | | merge default into bug24719Matthias Radestock2012-10-262-17/+38
| |\ \ \ \ \ \