summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-07-06 10:19:21 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-07-06 10:19:21 +0100
commitca6fdad91d83f02cb4b7ade6562541dce5c363cd (patch)
tree8450d7987b96da49447118a0ba444c50e01bda29
parentbd82f6fd37569adcf1602ae01366cd3fef523416 (diff)
downloadrabbitmq-server-ca6fdad91d83f02cb4b7ade6562541dce5c363cd.tar.gz
moved all rabbit.hrl types to rabbit_types.erl
-rw-r--r--include/rabbit_exchange_type_spec.hrl24
-rw-r--r--src/rabbit_access_control.erl15
-rw-r--r--src/rabbit_amqqueue.erl55
-rw-r--r--src/rabbit_basic.erl2
-rw-r--r--src/rabbit_exchange.erl39
-rw-r--r--src/rabbit_misc.erl29
-rw-r--r--src/rabbit_net.erl5
-rw-r--r--src/rabbit_networking.erl18
-rw-r--r--src/rabbit_reader_queue_collector.erl2
-rw-r--r--src/rabbit_types.erl49
10 files changed, 122 insertions, 116 deletions
diff --git a/include/rabbit_exchange_type_spec.hrl b/include/rabbit_exchange_type_spec.hrl
index 5a010c0d..f05bcb84 100644
--- a/include/rabbit_exchange_type_spec.hrl
+++ b/include/rabbit_exchange_type_spec.hrl
@@ -31,19 +31,19 @@
-ifdef(use_specs).
-spec(description/0 :: () -> [{atom(), any()}]).
--spec(publish/2 :: (rabbit_exchange:exchange(), rabbit_types:delivery())
+-spec(publish/2 :: (rabbit_types:exchange(), rabbit_types:delivery())
-> {rabbit_router:routing_result(), [pid()]}).
--spec(validate/1 :: (rabbit_exchange:exchange()) -> 'ok').
--spec(create/1 :: (rabbit_exchange:exchange()) -> 'ok').
--spec(recover/2 :: (rabbit_exchange:exchange(),
- [rabbit_exchange:binding()]) -> 'ok').
--spec(delete/2 :: (rabbit_exchange:exchange(),
- [rabbit_exchange:binding()]) -> 'ok').
--spec(add_binding/2 :: (rabbit_exchange:exchange(),
- rabbit_exchange:binding()) -> 'ok').
--spec(remove_bindings/2 :: (rabbit_exchange:exchange(),
- [rabbit_exchange:binding()]) -> 'ok').
--spec(assert_args_equivalence/2 :: (rabbit_exchange:exchange(),
+-spec(validate/1 :: (rabbit_types:exchange()) -> 'ok').
+-spec(create/1 :: (rabbit_types:exchange()) -> 'ok').
+-spec(recover/2 :: (rabbit_types:exchange(),
+ [rabbit_types:binding()]) -> 'ok').
+-spec(delete/2 :: (rabbit_types:exchange(),
+ [rabbit_types:binding()]) -> 'ok').
+-spec(add_binding/2 :: (rabbit_types:exchange(),
+ rabbit_types:binding()) -> 'ok').
+-spec(remove_bindings/2 :: (rabbit_types:exchange(),
+ [rabbit_types:binding()]) -> 'ok').
+-spec(assert_args_equivalence/2 :: (rabbit_types:exchange(),
rabbit_framing:amqp_table()) -> 'ok').
-endif.
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl
index 973851a4..6f1b3340 100644
--- a/src/rabbit_access_control.erl
+++ b/src/rabbit_access_control.erl
@@ -45,27 +45,24 @@
-ifdef(use_specs).
--export_type([username/0]).
+-export_type([username/0, password/0]).
-type(permission_atom() :: 'configure' | 'read' | 'write').
-type(username() :: binary()).
-type(password() :: binary()).
--type(user() ::
- #user{username :: username(),
- password :: password()}).
-type(regexp() :: binary()).
--spec(check_login/2 :: (binary(), binary()) -> user()).
--spec(user_pass_login/2 :: (username(), password()) -> user()).
--spec(check_vhost_access/2 :: (user(), rabbit_types:vhost()) -> 'ok').
+-spec(check_login/2 :: (binary(), binary()) -> rabbit_types:user()).
+-spec(user_pass_login/2 :: (username(), password()) -> rabbit_types:user()).
+-spec(check_vhost_access/2 :: (rabbit_types:user(), rabbit_types:vhost()) -> 'ok').
-spec(check_resource_access/3 ::
- (username(), rabbit_misc:r(atom()), permission_atom()) -> 'ok').
+ (username(), rabbit_misc:types(atom()), permission_atom()) -> 'ok').
-spec(add_user/2 :: (username(), password()) -> 'ok').
-spec(delete_user/1 :: (username()) -> 'ok').
-spec(change_password/2 :: (username(), password()) -> 'ok').
-spec(list_users/0 :: () -> [username()]).
-spec(lookup_user/1 :: (username()) ->
- {'ok', user()} | rabbit_misc:not_found()).
+ {'ok', rabbit_types:user()} | rabbit_types:not_found()).
-spec(add_vhost/1 :: (rabbit_types:vhost()) -> 'ok').
-spec(delete_vhost/1 :: (rabbit_types:vhost()) -> 'ok').
-spec(list_vhosts/0 :: () -> [rabbit_types:vhost()]).
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 9e271c8e..b23058a6 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -59,19 +59,12 @@
-ifdef(use_specs).
--export_type([amqqueue/0, name/0, qmsg/0]).
+-export_type([name/0, qmsg/0]).
--type(name() :: rabbit_misc:r('queue')).
--type(amqqueue() ::
- #amqqueue{name :: name(),
- durable :: boolean(),
- auto_delete :: boolean(),
- exclusive_owner :: rabbit_types:maybe(pid()),
- arguments :: rabbit_framing:amqp_table(),
- pid :: rabbit_types:maybe(pid())}).
+-type(name() :: rabbit_types:r('queue')).
-type(qlen() :: {'ok', non_neg_integer()}).
--type(qfun(A) :: fun ((amqqueue()) -> A)).
+-type(qfun(A) :: fun ((rabbit_types:amqqueue()) -> A)).
-type(qmsg() :: {name(), pid(), msg_id(), boolean(), rabbit_types:message()}).
-type(msg_id() :: non_neg_integer()).
-type(ok_or_errors() ::
@@ -79,35 +72,35 @@
-spec(start/0 :: () -> 'ok').
-spec(declare/5 :: (name(), boolean(), boolean(), rabbit_framing:amqp_table(),
- rabbit_types:maybe(pid())) -> {'new' | 'existing', amqqueue()}).
--spec(lookup/1 :: (name()) -> {'ok', amqqueue()} | rabbit_misc:not_found()).
--spec(with/2 :: (name(), qfun(A)) -> A | rabbit_misc:not_found()).
+ rabbit_types:maybe(pid())) -> {'new' | 'existing', rabbit_types:amqqueue()}).
+-spec(lookup/1 :: (name()) -> {'ok', rabbit_types:amqqueue()} | rabbit_types:not_found()).
+-spec(with/2 :: (name(), qfun(A)) -> A | rabbit_types:not_found()).
-spec(with_or_die/2 :: (name(), qfun(A)) -> A).
--spec(assert_equivalence/5 :: (amqqueue(), boolean(), boolean(),
+-spec(assert_equivalence/5 :: (rabbit_types:amqqueue(), boolean(), boolean(),
rabbit_framing:amqp_table(), rabbit_types:maybe(pid))
-> ok).
--spec(check_exclusive_access/2 :: (amqqueue(), pid()) -> 'ok').
+-spec(check_exclusive_access/2 :: (rabbit_types:amqqueue(), pid()) -> 'ok').
-spec(with_exclusive_access_or_die/3 :: (name(), pid(), qfun(A)) -> A).
--spec(list/1 :: (rabbit_types:vhost()) -> [amqqueue()]).
+-spec(list/1 :: (rabbit_types:vhost()) -> [rabbit_types:amqqueue()]).
-spec(info_keys/0 :: () -> [rabbit_types:info_key()]).
--spec(info/1 :: (amqqueue()) -> [rabbit_types:info()]).
--spec(info/2 :: (amqqueue(), [rabbit_types:info_key()]) -> [rabbit_types:info()]).
+-spec(info/1 :: (rabbit_types:amqqueue()) -> [rabbit_types:info()]).
+-spec(info/2 :: (rabbit_types:amqqueue(), [rabbit_types:info_key()]) -> [rabbit_types:info()]).
-spec(info_all/1 :: (rabbit_types:vhost()) -> [[rabbit_types:info()]]).
-spec(info_all/2 :: (rabbit_types:vhost(), [rabbit_types:info_key()])
-> [[rabbit_types:info()]]).
--spec(consumers/1 :: (amqqueue()) -> [{pid(), rabbit_types:ctag(), boolean()}]).
+-spec(consumers/1 :: (rabbit_types:amqqueue()) -> [{pid(), rabbit_types:ctag(), boolean()}]).
-spec(consumers_all/1 :: (rabbit_types:vhost())
-> [{name(), pid(), rabbit_types:ctag(), boolean()}]).
-spec(stat/1 ::
- (amqqueue()) -> {'ok', non_neg_integer(), non_neg_integer()}).
+ (rabbit_types:amqqueue()) -> {'ok', non_neg_integer(), non_neg_integer()}).
-spec(delete/3 ::
- (amqqueue(), 'false', 'false') -> qlen();
- (amqqueue(), 'true' , 'false') -> qlen() | {'error', 'in_use'};
- (amqqueue(), 'false', 'true' ) -> qlen() | {'error', 'not_empty'};
- (amqqueue(), 'true' , 'true' ) -> qlen() |
+ (rabbit_types:amqqueue(), 'false', 'false') -> qlen();
+ (rabbit_types:amqqueue(), 'true' , 'false') -> qlen() | {'error', 'in_use'};
+ (rabbit_types:amqqueue(), 'false', 'true' ) -> qlen() | {'error', 'not_empty'};
+ (rabbit_types:amqqueue(), 'true' , 'true' ) -> qlen() |
{'error', 'in_use'} |
{'error', 'not_empty'}).
--spec(purge/1 :: (amqqueue()) -> qlen()).
+-spec(purge/1 :: (rabbit_types:amqqueue()) -> qlen()).
-spec(deliver/2 :: (pid(), rabbit_types:delivery()) -> boolean()).
-spec(requeue/3 :: (pid(), [msg_id()], pid()) -> 'ok').
-spec(ack/4 :: (pid(), rabbit_types:maybe(rabbit_types:txn()), [msg_id()], pid())
@@ -116,24 +109,24 @@
-spec(rollback_all/3 :: ([pid()], rabbit_types:txn(), pid()) -> 'ok').
-spec(notify_down_all/2 :: ([pid()], pid()) -> ok_or_errors()).
-spec(limit_all/3 :: ([pid()], pid(), pid() | 'undefined') -> ok_or_errors()).
--spec(basic_get/3 :: (amqqueue(), pid(), boolean()) ->
+-spec(basic_get/3 :: (rabbit_types:amqqueue(), pid(), boolean()) ->
{'ok', non_neg_integer(), qmsg()} | 'empty').
-spec(basic_consume/7 ::
- (amqqueue(), boolean(), pid(), pid() | 'undefined',
+ (rabbit_types:amqqueue(), boolean(), pid(), pid() | 'undefined',
rabbit_types:ctag(), boolean(), any())
-> 'ok' | {'error', 'exclusive_consume_unavailable'}).
--spec(basic_cancel/4 :: (amqqueue(), pid(), rabbit_types:ctag(), any()) -> 'ok').
+-spec(basic_cancel/4 :: (rabbit_types:amqqueue(), pid(), rabbit_types:ctag(), any()) -> 'ok').
-spec(notify_sent/2 :: (pid(), pid()) -> 'ok').
-spec(unblock/2 :: (pid(), pid()) -> 'ok').
-spec(flush_all/2 :: ([pid()], pid()) -> 'ok').
--spec(internal_declare/2 :: (amqqueue(), boolean()) -> amqqueue() | 'not_found').
--spec(internal_delete/1 :: (name()) -> 'ok' | rabbit_misc:not_found()).
+-spec(internal_declare/2 :: (rabbit_types:amqqueue(), boolean()) -> rabbit_types:amqqueue() | 'not_found').
+-spec(internal_delete/1 :: (name()) -> 'ok' | rabbit_types:not_found()).
-spec(maybe_run_queue_via_backing_queue/2 :: (pid(), (fun ((A) -> A))) -> 'ok').
-spec(update_ram_duration/1 :: (pid()) -> 'ok').
-spec(set_ram_duration_target/2 :: (pid(), number() | 'infinity') -> 'ok').
-spec(set_maximum_since_use/2 :: (pid(), non_neg_integer()) -> 'ok').
-spec(on_node_down/1 :: (node()) -> 'ok').
--spec(pseudo_queue/2 :: (binary(), pid()) -> amqqueue()).
+-spec(pseudo_queue/2 :: (binary(), pid()) -> rabbit_types:amqqueue()).
-endif.
diff --git a/src/rabbit_basic.erl b/src/rabbit_basic.erl
index b4e685b2..76153010 100644
--- a/src/rabbit_basic.erl
+++ b/src/rabbit_basic.erl
@@ -44,7 +44,7 @@
-type(properties_input() :: (rabbit_framing:amqp_property_record() | [{atom(), any()}])).
-type(publish_result() :: ({ok, rabbit_router:routing_result(), [pid()]}
- | rabbit_misc:not_found())).
+ | rabbit_types:not_found())).
-spec(publish/1 :: (rabbit_types:delivery()) -> publish_result()).
-spec(delivery/4 :: (boolean(), boolean(), rabbit_types:maybe(rabbit_types:txn()),
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index ae45f64a..b63fd876 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -56,48 +56,37 @@
-ifdef(use_specs).
--export_type([name/0, exchange/0, binding/0]).
-
--type(name() :: rabbit_misc:r('exchange')).
--type(exchange() ::
- #exchange{name :: name(),
- type :: type(),
- durable :: boolean(),
- auto_delete :: boolean(),
- arguments :: rabbit_framing:amqp_table()}).
+-export_type([name/0, type/0, binding_key/0]).
+
+-type(name() :: rabbit_types:r('exchange')).
-type(type() :: atom()).
-type(binding_key() :: binary()).
--type(binding() ::
- #binding{exchange_name :: name(),
- queue_name :: rabbit_amqqueue:name(),
- key :: binding_key()}).
-
-type(bind_res() :: 'ok' | {'error',
'queue_not_found' |
'exchange_not_found' |
'exchange_and_queue_not_found'}).
--type(inner_fun() :: fun((exchange(), queue()) -> any())).
+-type(inner_fun() :: fun((rabbit_types:exchange(), queue()) -> any())).
-spec(recover/0 :: () -> 'ok').
-spec(declare/5 :: (name(), type(), boolean(), boolean(),
- rabbit_framing:amqp_table()) -> exchange()).
+ rabbit_framing:amqp_table()) -> rabbit_types:exchange()).
-spec(check_type/1 :: (binary()) -> atom()).
--spec(assert_equivalence/5 :: (exchange(), atom(), boolean(), boolean(),
+-spec(assert_equivalence/5 :: (rabbit_types:exchange(), atom(), boolean(), boolean(),
rabbit_framing:amqp_table()) -> 'ok').
-spec(assert_args_equivalence/2 ::
- (exchange(), rabbit_framing:amqp_table()) -> 'ok').
+ (rabbit_types:exchange(), rabbit_framing:amqp_table()) -> 'ok').
-spec(lookup/1 :: (name())
- -> {'ok', exchange()} | rabbit_misc:not_found()).
--spec(lookup_or_die/1 :: (name()) -> exchange()).
--spec(list/1 :: (rabbit_types:vhost()) -> [exchange()]).
+ -> {'ok', rabbit_types:exchange()} | rabbit_types:not_found()).
+-spec(lookup_or_die/1 :: (name()) -> rabbit_types:exchange()).
+-spec(list/1 :: (rabbit_types:vhost()) -> [rabbit_types:exchange()]).
-spec(info_keys/0 :: () -> [rabbit_types:info_key()]).
--spec(info/1 :: (exchange()) -> [rabbit_types:info()]).
--spec(info/2 :: (exchange(), [rabbit_types:info_key()]) -> [rabbit_types:info()]).
+-spec(info/1 :: (rabbit_types:exchange()) -> [rabbit_types:info()]).
+-spec(info/2 :: (rabbit_types:exchange(), [rabbit_types:info_key()]) -> [rabbit_types:info()]).
-spec(info_all/1 :: (rabbit_types:vhost()) -> [[rabbit_types:info()]]).
-spec(info_all/2 :: (rabbit_types:vhost(), [rabbit_types:info_key()])
-> [[rabbit_types:info()]]).
--spec(publish/2 :: (exchange(), rabbit_types:delivery())
+-spec(publish/2 :: (rabbit_types:exchange(), rabbit_types:delivery())
-> {rabbit_router:routing_result(), [pid()]}).
-spec(add_binding/5 ::
(name(), rabbit_amqqueue:name(), rabbit_router:routing_key(),
@@ -114,7 +103,7 @@
-spec(delete_transient_queue_bindings/1 :: (rabbit_amqqueue:name()) ->
fun (() -> none())).
-spec(delete/2 :: (name(), boolean()) ->
- 'ok' | rabbit_misc:not_found() | {'error', 'in_use'}).
+ 'ok' | rabbit_types:not_found() | {'error', 'in_use'}).
-spec(list_queue_bindings/1 ::
(rabbit_amqqueue:name())
-> [{name(), rabbit_router:routing_key(), rabbit_framing:amqp_table()}]).
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl
index 3d94d952..67150563 100644
--- a/src/rabbit_misc.erl
+++ b/src/rabbit_misc.erl
@@ -72,19 +72,10 @@
-ifdef(use_specs).
--export_type([not_found/0, amqp_error/0, r/1]).
+-export_type([resource_name/0]).
-type(ok_or_error() :: 'ok' | {'error', any()}).
--type(amqp_error() ::
- #amqp_error{name :: rabbit_framing:amqp_exception(),
- explanation :: string(),
- method :: rabbit_framing:amqp_method_name()}).
--type(not_found() :: {'error', 'not_found'}).
-type(resource_name() :: binary()).
--type(r(Kind) ::
- #resource{virtual_host :: rabbit_types:vhost(),
- kind :: Kind,
- name :: resource_name()}).
-type(thunk(T) :: fun(() -> T)).
-spec(method_record_type/1 :: (rabbit_framing:amqp_method_record())
@@ -96,27 +87,27 @@
-> no_return()).
-spec(amqp_error/4 ::
(rabbit_framing:amqp_exception(), string(), [any()],
- rabbit_framing:amqp_method_name()) -> rabbit_misc:amqp_error()).
+ rabbit_framing:amqp_method_name()) -> rabbit_types:amqp_error()).
-spec(protocol_error/3 :: (rabbit_framing:amqp_exception(), string(), [any()])
-> no_return()).
-spec(protocol_error/4 :: (rabbit_framing:amqp_exception(), string(), [any()],
rabbit_framing:amqp_method_name()) -> no_return()).
--spec(not_found/1 :: (r(atom())) -> no_return()).
--spec(get_config/1 :: (atom()) -> {'ok', any()} | not_found()).
+-spec(not_found/1 :: (rabbit_types:r(atom())) -> no_return()).
+-spec(get_config/1 :: (atom()) -> {'ok', any()} | rabbit_types:not_found()).
-spec(get_config/2 :: (atom(), A) -> A).
-spec(set_config/2 :: (atom(), any()) -> 'ok').
--spec(dirty_read/1 :: ({atom(), any()}) -> {'ok', any()} | not_found()).
--spec(r/3 :: (rabbit_types:vhost() | r(atom()), K, resource_name())
- -> r(K) when is_subtype(K, atom())).
+-spec(dirty_read/1 :: ({atom(), any()}) -> {'ok', any()} | rabbit_types:not_found()).
+-spec(r/3 :: (rabbit_types:vhost() | rabbit_types:r(atom()), K, resource_name())
+ -> rabbit_types:r(K) when is_subtype(K, atom())).
-spec(r/2 :: (rabbit_types:vhost(), K)
-> #resource{virtual_host :: rabbit_types:vhost(),
kind :: K,
name :: '_'}
when is_subtype(K, atom())).
--spec(r_arg/4 :: (rabbit_types:vhost() | r(atom()), K,
+-spec(r_arg/4 :: (rabbit_types:vhost() | rabbit_types:r(atom()), K,
rabbit_framing:amqp_table(), binary())
- -> undefined | r(K) when is_subtype(K, atom())).
--spec(rs/1 :: (r(atom())) -> string()).
+ -> undefined | rabbit_types:r(K) when is_subtype(K, atom())).
+-spec(rs/1 :: (rabbit_types:r(atom())) -> string()).
-spec(enable_cover/0 :: () -> ok_or_error()).
-spec(start_cover/1 :: ([{string(), string()} | string()]) -> 'ok').
-spec(report_cover/0 :: () -> 'ok').
diff --git a/src/rabbit_net.erl b/src/rabbit_net.erl
index 5379d3a1..8848ea87 100644
--- a/src/rabbit_net.erl
+++ b/src/rabbit_net.erl
@@ -40,14 +40,11 @@
-ifdef(use_specs).
--export_type([socket/0]).
-
-type(stat_option() ::
'recv_cnt' | 'recv_max' | 'recv_avg' | 'recv_oct' | 'recv_dvi' |
'send_cnt' | 'send_max' | 'send_avg' | 'send_oct' | 'send_pend').
-type(error() :: {'error', any()}).
--type(ssl_socket() :: #ssl_socket{}).
--type(socket() :: rabbit_networking:ip_port() | ssl_socket()).
+-type(socket() :: rabbit_networking:ip_port() | rabbit_types:ssl_socket()).
-spec(async_recv/3 :: (socket(), integer(), timeout()) -> {'ok', any()}).
-spec(close/1 :: (socket()) -> 'ok' | error()).
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index d182810a..938da9b5 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -65,25 +65,17 @@
-export_type([ip_port/0, hostname/0]).
--type(connection() :: pid()).
-
--type(listener() ::
- #listener{node :: node(),
- protocol :: atom(),
- host :: hostname(),
- port :: ip_port()}).
-
-spec(start/0 :: () -> 'ok').
-spec(start_tcp_listener/2 :: (hostname(), ip_port()) -> 'ok').
-spec(start_ssl_listener/3 :: (hostname(), ip_port(), [rabbit_types:info()])
-> 'ok').
-spec(stop_tcp_listener/2 :: (hostname(), ip_port()) -> 'ok').
--spec(active_listeners/0 :: () -> [listener()]).
--spec(node_listeners/1 :: (node()) -> [listener()]).
--spec(connections/0 :: () -> [connection()]).
+-spec(active_listeners/0 :: () -> [rabbit_types:listener()]).
+-spec(node_listeners/1 :: (node()) -> [rabbit_types:listener()]).
+-spec(connections/0 :: () -> [rabbit_types:connection()]).
-spec(connection_info_keys/0 :: () -> [rabbit_types:info_key()]).
--spec(connection_info/1 :: (connection()) -> [rabbit_types:info()]).
--spec(connection_info/2 :: (connection(), [rabbit_types:info_key()]) -> [rabbit_types:info()]).
+-spec(connection_info/1 :: (rabbit_types:connection()) -> [rabbit_types:info()]).
+-spec(connection_info/2 :: (rabbit_types:connection(), [rabbit_types:info_key()]) -> [rabbit_types:info()]).
-spec(connection_info_all/0 :: () -> [[rabbit_types:info()]]).
-spec(connection_info_all/1 :: ([rabbit_types:info_key()]) -> [[rabbit_types:info()]]).
-spec(close_connection/2 :: (pid(), string()) -> 'ok').
diff --git a/src/rabbit_reader_queue_collector.erl b/src/rabbit_reader_queue_collector.erl
index 01eae523..e0919cd5 100644
--- a/src/rabbit_reader_queue_collector.erl
+++ b/src/rabbit_reader_queue_collector.erl
@@ -47,7 +47,7 @@
-ifdef(use_specs).
-spec(start_link/0 :: () -> {'ok', pid()}).
--spec(register_exclusive_queue/2 :: (pid(), rabbit_amqqueue:amqqueue()) -> 'ok').
+-spec(register_exclusive_queue/2 :: (pid(), rabbit_types:amqqueue()) -> 'ok').
-spec(delete_all/1 :: (pid()) -> 'ok').
-endif.
diff --git a/src/rabbit_types.erl b/src/rabbit_types.erl
index b8c3884e..22f9f8d7 100644
--- a/src/rabbit_types.erl
+++ b/src/rabbit_types.erl
@@ -37,7 +37,9 @@
-export_type([txn/0, maybe/1, info/0, info_key/0, message/0, basic_message/0,
delivery/0, content/0, decoded_content/0, undecoded_content/0,
- unencoded_content/0, encoded_content/0, vhost/0, ctag/0]).
+ unencoded_content/0, encoded_content/0, vhost/0, ctag/0, amqp_error/0,
+ not_found/0, r/1, ssl_socket/0, listener/0, binding/0, amqqueue/0,
+ exchange/0, connection/0, user/0]).
-type(maybe(T) :: T | 'none').
-type(vhost() :: binary()).
@@ -86,4 +88,49 @@
-type(info_key() :: atom()).
-type(info() :: {info_key(), any()}).
+-type(amqp_error() ::
+ #amqp_error{name :: rabbit_framing:amqp_exception(),
+ explanation :: string(),
+ method :: rabbit_framing:amqp_method_name()}).
+-type(not_found() :: {'error', 'not_found'}).
+
+-type(r(Kind) ::
+ #resource{virtual_host :: rabbit_types:vhost(),
+ kind :: Kind,
+ name :: rabbit_misc:resource_name()}).
+
+-type(ssl_socket() :: #ssl_socket{}).
+
+-type(listener() ::
+ #listener{node :: node(),
+ protocol :: atom(),
+ host :: rabbit_net:hostname(),
+ port :: rabbit_net:ip_port()}).
+
+-type(binding() ::
+ #binding{exchange_name :: rabbit_exchange:name(),
+ queue_name :: rabbit_amqqueue:name(),
+ key :: rabbit_exchange:binding_key()}).
+
+-type(amqqueue() ::
+ #amqqueue{name :: rabbit_amqqueue:name(),
+ durable :: boolean(),
+ auto_delete :: boolean(),
+ exclusive_owner :: rabbit_types:maybe(pid()),
+ arguments :: rabbit_framing:amqp_table(),
+ pid :: rabbit_types:maybe(pid())}).
+
+-type(exchange() ::
+ #exchange{name :: rabbit_exchange:name(),
+ type :: rabbit_exchange:type(),
+ durable :: boolean(),
+ auto_delete :: boolean(),
+ arguments :: rabbit_framing:amqp_table()}).
+
+-type(connection() :: pid()).
+
+-type(user() ::
+ #user{username :: rabbit_access_control:username(),
+ password :: rabbit_access_control:password()}).
+
-endif. % use_specs