summaryrefslogtreecommitdiff
path: root/src/rabbit_exchange_decorator.erl
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-03-28 17:42:07 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-03-28 17:42:07 +0100
commitb47c6de0463a1196705c0e4839f279c2fd9ea9e1 (patch)
tree38b10f0200e3b742dd9dc7276a322deff5c6bbe9 /src/rabbit_exchange_decorator.erl
parentc167d35820b2b74c3f587b7b215f016e69919891 (diff)
downloadrabbitmq-server-b47c6de0463a1196705c0e4839f279c2fd9ea9e1.tar.gz
Rough sketch of exchange decorator concept.
Diffstat (limited to 'src/rabbit_exchange_decorator.erl')
-rw-r--r--src/rabbit_exchange_decorator.erl46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/rabbit_exchange_decorator.erl b/src/rabbit_exchange_decorator.erl
new file mode 100644
index 00000000..362ec309
--- /dev/null
+++ b/src/rabbit_exchange_decorator.erl
@@ -0,0 +1,46 @@
+%% The contents of this file are subject to the Mozilla Public License
+%% Version 1.1 (the "License"); you may not use this file except in
+%% compliance with the License. You may obtain a copy of the License
+%% at http://www.mozilla.org/MPL/
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and
+%% limitations under the License.
+%%
+%% The Original Code is RabbitMQ.
+%%
+%% The Initial Developer of the Original Code is VMware, Inc.
+%% Copyright (c) 2007-2012 VMware, Inc. All rights reserved.
+%%
+
+-module(rabbit_exchange_decorator).
+
+-export([behaviour_info/1]).
+
+behaviour_info(callbacks) ->
+ [
+ {description, 0},
+
+ %% Should Rabbit ensure that all binding events that are
+ %% delivered to an individual exchange can be serialised? (they
+ %% might still be delivered out of order, but there'll be a
+ %% serial number).
+ {serialise_events, 0},
+
+ {route, 2},
+
+ %% called after declaration and recovery
+ {create, 2},
+
+ %% called after exchange (auto)deletion.
+ {delete, 3},
+
+ %% called after a binding has been added or recovered
+ {add_binding, 3},
+
+ %% called after bindings have been deleted.
+ {remove_bindings, 3}
+ ];
+behaviour_info(_Other) ->
+ undefined.