diff options
author | Tony Garnock-Jones <tonyg@kcbbs.gen.nz> | 2009-11-21 21:24:15 +0000 |
---|---|---|
committer | Tony Garnock-Jones <tonyg@kcbbs.gen.nz> | 2009-11-21 21:24:15 +0000 |
commit | 0378154c75db5884f3720cc632e1d2f460c27f7c (patch) | |
tree | 193b0e9537ae67eaae1112c0ab1ba59d528e674e /src/rabbit_exchange_type_direct.erl | |
parent | b9e643bb45c32d214125ba06f3c95b97147a3f6c (diff) | |
download | rabbitmq-server-0378154c75db5884f3720cc632e1d2f460c27f7c.tar.gz |
Make exchanges modular behaviours. Added
rabbit_exchange_behaviour. Split fanout, direct, topic and headers
into new modules that implement the new behaviour. Added convention
that for exchange type X, a module named rabbit_exchange_type_X must
exist.
Diffstat (limited to 'src/rabbit_exchange_type_direct.erl')
-rw-r--r-- | src/rabbit_exchange_type_direct.erl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/rabbit_exchange_type_direct.erl b/src/rabbit_exchange_type_direct.erl new file mode 100644 index 00000000..b2de8f2c --- /dev/null +++ b/src/rabbit_exchange_type_direct.erl @@ -0,0 +1,20 @@ +-module(rabbit_exchange_type_direct). +-include("rabbit.hrl"). + +-behaviour(rabbit_exchange_behaviour). + +-export([description/0, route/3]). +-export([recover/1, init/1, delete/1, add_binding/2, delete_binding/2]). + +description() -> + [{name, <<"direct">>}, + {description, <<"AMQP direct exchange, as per the AMQP specification">>}]. + +route(#exchange{name = Name}, RoutingKey, _Content) -> + rabbit_router:match_routing_key(Name, RoutingKey). + +recover(_X) -> ok. +init(_X) -> ok. +delete(_X) -> ok. +add_binding(_X, _B) -> ok. +delete_binding(_X, _B) -> ok. |