diff options
author | Tony Garnock-Jones <tonyg@lshift.net> | 2009-11-23 15:39:50 +0000 |
---|---|---|
committer | Tony Garnock-Jones <tonyg@lshift.net> | 2009-11-23 15:39:50 +0000 |
commit | 0dda8fdc398dda44784dde67670e6879e9a9025d (patch) | |
tree | c050dba06aa4b1138e326d4f0497151874e3d427 /include | |
parent | 29cb6dd31fa90ace0992ef9c8a03bd3d935662ff (diff) | |
download | rabbitmq-server-0dda8fdc398dda44784dde67670e6879e9a9025d.tar.gz |
Speculative specs, pending R13B to try them out
Diffstat (limited to 'include')
-rw-r--r-- | include/rabbit_exchange_behaviour_spec.erl | 41 | ||||
-rw-r--r-- | include/rabbit_framing_spec.hrl | 2 |
2 files changed, 42 insertions, 1 deletions
diff --git a/include/rabbit_exchange_behaviour_spec.erl b/include/rabbit_exchange_behaviour_spec.erl new file mode 100644 index 00000000..30662af8 --- /dev/null +++ b/include/rabbit_exchange_behaviour_spec.erl @@ -0,0 +1,41 @@ +%% 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 Developers of the Original Code are LShift Ltd, +%% Cohesive Financial Technologies LLC, and Rabbit Technologies Ltd. +%% +%% Portions created before 22-Nov-2008 00:00:00 GMT by LShift Ltd, +%% Cohesive Financial Technologies LLC, or Rabbit Technologies Ltd +%% are Copyright (C) 2007-2008 LShift Ltd, Cohesive Financial +%% Technologies LLC, and Rabbit Technologies Ltd. +%% +%% Portions created by LShift Ltd are Copyright (C) 2007-2009 LShift +%% Ltd. Portions created by Cohesive Financial Technologies LLC are +%% Copyright (C) 2007-2009 Cohesive Financial Technologies +%% LLC. Portions created by Rabbit Technologies Ltd are Copyright +%% (C) 2007-2009 Rabbit Technologies Ltd. +%% +%% All Rights Reserved. +%% +%% Contributor(s): ______________________________________. +%% +-ifdef(use_specs). + +-spec(description/0 :: () -> [{atom(), any()}]). +-spec(publish/2 :: (exchange(), delivery()) -> {routing_result(), [pid()]}). +-spec(recover/1 :: (exchange()) -> 'ok'). +-spec(init/1 :: (exchange()) -> 'ok'). +-spec(delete/1 :: (exchange()) -> 'ok'). +-spec(add_binding/2 :: (exchange(), binding()) -> 'ok'). +-spec(delete_binding/2 :: (exchange(), binding()) -> 'ok'). + +-endif. diff --git a/include/rabbit_framing_spec.hrl b/include/rabbit_framing_spec.hrl index a78c2301..16af8ad3 100644 --- a/include/rabbit_framing_spec.hrl +++ b/include/rabbit_framing_spec.hrl @@ -56,5 +56,5 @@ -type(password() :: binary()). -type(vhost() :: binary()). -type(ctag() :: binary()). --type(exchange_type() :: 'direct' | 'topic' | 'fanout'). +-type(exchange_type() :: atom()). -type(binding_key() :: binary()). |