summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-07-02 16:11:50 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-07-02 16:11:50 +0100
commitfeed2048fa0a7d532b2216a992a8aa740da3a1dd (patch)
tree4f07808cd5a5d7778cb71d4977fb198e1e1f2c50
parent561c46c8b6f5b26b4700cd1c2f4d2cd3697917d8 (diff)
downloadrabbitmq-server-feed2048fa0a7d532b2216a992a8aa740da3a1dd.tar.gz
improved types
-rw-r--r--src/rabbit.erl7
-rw-r--r--src/rabbit_access_control.erl11
-rw-r--r--src/rabbit_amqqueue.erl7
-rw-r--r--src/rabbit_misc.erl35
4 files changed, 31 insertions, 29 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index e6bc240e..7bf87534 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -39,8 +39,8 @@
-export([log_location/1]).
--export_type([regexp/0, txn/0, thunk/1,maybe/1, info/0, info_key/0,
- msg_id/0, message/0, basic_message/0,
+-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,
ip_port/0, hostname/0]).
@@ -191,8 +191,6 @@
-ifdef(use_specs).
-type(maybe(T) :: T | 'none').
--type(thunk(T) :: fun(() -> T)).
--type(regexp() :: binary()).
-type(vhost() :: binary()).
-type(ctag() :: binary()).
@@ -236,7 +234,6 @@
%% this is really an abstract type, but dialyzer does not support them
-type(txn() :: rabbit_guid:guid()).
%% this really should be an abstract type
--type(msg_id() :: non_neg_integer()).
-type(log_location() :: 'tty' | 'undefined' | file:filename()).
-type(file_suffix() :: binary()).
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl
index fec09217..050277fb 100644
--- a/src/rabbit_access_control.erl
+++ b/src/rabbit_access_control.erl
@@ -52,6 +52,7 @@
-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()).
@@ -67,15 +68,13 @@
-spec(add_vhost/1 :: (rabbit:vhost()) -> 'ok').
-spec(delete_vhost/1 :: (rabbit:vhost()) -> 'ok').
-spec(list_vhosts/0 :: () -> [rabbit:vhost()]).
--spec(set_permissions/5 ::(username(), rabbit:vhost(), rabbit:regexp(),
- rabbit:regexp(), rabbit:regexp()) -> 'ok').
+-spec(set_permissions/5 ::(username(), rabbit:vhost(), regexp(),
+ regexp(), regexp()) -> 'ok').
-spec(clear_permissions/2 :: (username(), rabbit:vhost()) -> 'ok').
-spec(list_vhost_permissions/1 ::
- (rabbit:vhost()) -> [{username(), rabbit:regexp(),
- rabbit:regexp(), rabbit:regexp()}]).
+ (rabbit:vhost()) -> [{username(), regexp(), regexp(), regexp()}]).
-spec(list_user_permissions/1 ::
- (username()) -> [{rabbit:vhost(), rabbit:regexp(),
- rabbit:regexp(), rabbit:regexp()}]).
+ (username()) -> [{rabbit:vhost(), regexp(), regexp(), regexp()}]).
-endif.
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 7b9fcaac..c4ba9344 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -72,7 +72,8 @@
-type(qstats() :: {'ok', name(), non_neg_integer(), non_neg_integer()}).
-type(qlen() :: {'ok', non_neg_integer()}).
-type(qfun(A) :: fun ((amqqueue()) -> A)).
--type(qmsg() :: {name(), pid(), rabbit:msg_id(), boolean(), rabbit:message()}).
+-type(qmsg() :: {name(), pid(), msg_id(), boolean(), rabbit:message()}).
+-type(msg_id() :: non_neg_integer()).
-type(ok_or_errors() ::
'ok' | {'error', [{'error' | 'exit' | 'throw', any()}]}).
@@ -103,8 +104,8 @@
{'error', 'not_empty'}).
-spec(purge/1 :: (amqqueue()) -> qlen()).
-spec(deliver/2 :: (pid(), rabbit:delivery()) -> boolean()).
--spec(requeue/3 :: (pid(), [rabbit:msg_id()], pid()) -> 'ok').
--spec(ack/4 :: (pid(), rabbit:maybe(rabbit:txn()), [rabbit:msg_id()], pid())
+-spec(requeue/3 :: (pid(), [msg_id()], pid()) -> 'ok').
+-spec(ack/4 :: (pid(), rabbit:maybe(rabbit:txn()), [msg_id()], pid())
-> 'ok').
-spec(commit_all/3 :: ([pid()], rabbit:txn(), pid()) -> ok_or_errors()).
-spec(rollback_all/3 :: ([pid()], rabbit:txn(), pid()) -> 'ok').
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl
index b247f486..bf4aaeb4 100644
--- a/src/rabbit_misc.erl
+++ b/src/rabbit_misc.erl
@@ -76,25 +76,31 @@
-type(ok_or_error() :: 'ok' | {'error', any()}).
-type(amqp_error() ::
- #amqp_error{name :: atom(),
+ #amqp_error{name :: rabbit_framing:amqp_exception(),
explanation :: string(),
- method :: atom()}).
+ method :: rabbit_framing:amqp_method_name()}).
-type(not_found() :: {'error', 'not_found'}).
-type(resource_name() :: binary()).
-type(r(Kind) ::
#resource{virtual_host :: rabbit:vhost(),
kind :: Kind,
name :: resource_name()}).
+-type(thunk(T) :: fun(() -> T)).
--spec(method_record_type/1 :: (rabbit_framing:amqp_method_record()) -> atom()).
+-spec(method_record_type/1 :: (rabbit_framing:amqp_method_record())
+ -> rabbit_framing:amqp_method_name()).
-spec(polite_pause/0 :: () -> 'done').
-spec(polite_pause/1 :: (non_neg_integer()) -> 'done').
--spec(die/1 :: (atom()) -> no_return()).
--spec(frame_error/2 :: (atom(), binary()) -> no_return()).
+-spec(die/1 :: (rabbit_framing:amqp_exception()) -> no_return()).
+-spec(frame_error/2 :: (rabbit_framing:amqp_method_name(), binary())
+ -> no_return()).
-spec(amqp_error/4 ::
- (atom(), string(), [any()], atom()) -> rabbit_misc:amqp_error()).
--spec(protocol_error/3 :: (atom(), string(), [any()]) -> no_return()).
--spec(protocol_error/4 :: (atom(), string(), [any()], atom()) -> no_return()).
+ (rabbit_framing:amqp_exception(), string(), [any()],
+ rabbit_framing:amqp_method_name()) -> rabbit_misc: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(get_config/2 :: (atom(), A) -> A).
@@ -116,15 +122,14 @@
-spec(report_cover/0 :: () -> 'ok').
-spec(enable_cover/1 :: (file:filename()) -> ok_or_error()).
-spec(report_cover/1 :: (file:filename()) -> 'ok').
--spec(throw_on_error/2 ::
- (atom(), rabbit:thunk({error, any()} | {ok, A} | A)) -> A).
--spec(with_exit_handler/2 :: (rabbit:thunk(A), rabbit:thunk(A)) -> A).
+-spec(throw_on_error/2 :: (atom(), thunk({error, any()} | {ok, A} | A)) -> A).
+-spec(with_exit_handler/2 :: (thunk(A), thunk(A)) -> A).
-spec(filter_exit_map/2 :: (fun ((A) -> B), [A]) -> [B]).
--spec(with_user/2 :: (rabbit_access_control:username(), rabbit:thunk(A)) -> A).
--spec(with_vhost/2 :: (rabbit:vhost(), rabbit:thunk(A)) -> A).
+-spec(with_user/2 :: (rabbit_access_control:username(), thunk(A)) -> A).
+-spec(with_vhost/2 :: (rabbit:vhost(), thunk(A)) -> A).
-spec(with_user_and_vhost/3 :: (rabbit_access_control:username(),
- rabbit:vhost(), rabbit:thunk(A)) -> A).
--spec(execute_mnesia_transaction/1 :: (rabbit:thunk(A)) -> A).
+ rabbit:vhost(), thunk(A)) -> A).
+-spec(execute_mnesia_transaction/1 :: (thunk(A)) -> A).
-spec(ensure_ok/2 :: (ok_or_error(), atom()) -> 'ok').
-spec(makenode/1 :: ({string(), string()} | string()) -> node()).
-spec(nodeparts/1 :: (node() | string()) -> {string(), string()}).