diff options
author | Emile Joubert <emile@rabbitmq.com> | 2013-03-08 12:18:26 +0000 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2013-03-08 12:18:26 +0000 |
commit | bd2905c7b21c4f75fea8bd1d61e49043c7bf6dc2 (patch) | |
tree | 537b591cd1fadb2340fa4db98ddc57483789475e /src/rabbit_exchange_decorator.erl | |
parent | 0f471c546032d497ef2090fab8c4e4c7ad6c7a27 (diff) | |
download | rabbitmq-server-bd2905c7b21c4f75fea8bd1d61e49043c7bf6dc2.tar.gz |
Mostly callback description
Diffstat (limited to 'src/rabbit_exchange_decorator.erl')
-rw-r--r-- | src/rabbit_exchange_decorator.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_exchange_decorator.erl b/src/rabbit_exchange_decorator.erl index 4e395cbe..70ba4d22 100644 --- a/src/rabbit_exchange_decorator.erl +++ b/src/rabbit_exchange_decorator.erl @@ -21,9 +21,8 @@ %% 1) It applies to all exchanges as soon as it is installed, therefore %% 2) It is not allowed to affect validation, so no validate/1 or %% assert_args_equivalence/2 -%% 3) It also can't affect routing %% -%% It's possible in the future we might relax 3), or even make these +%% It's possible in the future we might make decorators %% able to manipulate messages as they are published. -ifdef(use_specs). @@ -58,6 +57,11 @@ -callback policy_changed ( serial(), rabbit_types:exchange(), rabbit_types:exchange()) -> 'ok'. +%% called after exchange routing +%% return value is a tuple of two lists: queues to be added +%% and queues to be removed from the list of destination queues. +%% decorators must register separately for this callback using +%% exchange_decorator_route. -callback route ( rabbit_types:exchange(), rabbit_types:delivery(), [rabbit_amqqueue:name()]) -> {[rabbit_amqqueue:name()], [rabbit_amqqueue:name()]}. |