diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-07-02 16:11:50 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-07-02 16:11:50 +0100 |
commit | feed2048fa0a7d532b2216a992a8aa740da3a1dd (patch) | |
tree | 4f07808cd5a5d7778cb71d4977fb198e1e1f2c50 | |
parent | 561c46c8b6f5b26b4700cd1c2f4d2cd3697917d8 (diff) | |
download | rabbitmq-server-feed2048fa0a7d532b2216a992a8aa740da3a1dd.tar.gz |
improved types
-rw-r--r-- | src/rabbit.erl | 7 | ||||
-rw-r--r-- | src/rabbit_access_control.erl | 11 | ||||
-rw-r--r-- | src/rabbit_amqqueue.erl | 7 | ||||
-rw-r--r-- | src/rabbit_misc.erl | 35 |
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()}). |