summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-06-17 17:31:47 +0100
committerMatthew Sackman <matthew@lshift.net>2009-06-17 17:31:47 +0100
commit2f9346bac74b8a91d42b13d225f5add815e97e73 (patch)
treeae352372a00e0770007497be7ffa4174ed8798c2
parent3045dac32d73412b19181647e1f150bf2f88b3a5 (diff)
downloadrabbitmq-server-2f9346bac74b8a91d42b13d225f5add815e97e73.tar.gz
sorted out specs.
-rw-r--r--src/rabbit_amqqueue.erl2
-rw-r--r--src/rabbit_disk_queue.erl12
-rw-r--r--src/rabbit_guid.erl2
-rw-r--r--src/rabbit_misc.erl2
-rw-r--r--src/rabbit_mixed_queue.erl39
-rw-r--r--src/rabbit_queue_mode_manager.erl14
6 files changed, 62 insertions, 9 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index a1f36f31..9d3cead6 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -65,7 +65,7 @@
'ok' | {'error', [{'error' | 'exit' | 'throw', any()}]}).
-spec(start/0 :: () -> 'ok').
--spec(recover/0 :: () -> 'ok').
+-spec(recover/0 :: () -> {'ok', [amqqueue()]}).
-spec(declare/4 :: (queue_name(), bool(), bool(), amqp_table()) ->
amqqueue()).
-spec(lookup/1 :: (queue_name()) -> {'ok', amqqueue()} | not_found()).
diff --git a/src/rabbit_disk_queue.erl b/src/rabbit_disk_queue.erl
index a33a4b28..2f8fd223 100644
--- a/src/rabbit_disk_queue.erl
+++ b/src/rabbit_disk_queue.erl
@@ -231,19 +231,19 @@
-ifdef(use_specs).
-type(seq_id() :: non_neg_integer()).
--type(seq_id_or_next() :: { seq_id() | 'next' }).
+-type(seq_id_or_next() :: ( seq_id() | 'next' )).
-spec(start_link/0 :: () ->
- {'ok', pid()} | 'ignore' | {'error', any()}).
+ ({'ok', pid()} | 'ignore' | {'error', any()})).
-spec(publish/4 :: (queue_name(), msg_id(), binary(), bool()) -> 'ok').
-spec(publish_with_seq/5 :: (queue_name(), msg_id(), seq_id_or_next(), binary(),
bool()) -> 'ok').
-spec(deliver/1 :: (queue_name()) ->
- {'empty' | {msg_id(), binary(), non_neg_integer(),
- bool(), {msg_id(), seq_id()}, non_neg_integer()}}).
+ ('empty' | {msg_id(), binary(), non_neg_integer(),
+ bool(), {msg_id(), seq_id()}, non_neg_integer()})).
-spec(phantom_deliver/1 :: (queue_name()) ->
- { 'empty' | {msg_id(), bool(), {msg_id(), seq_id()},
- non_neg_integer()}}).
+ ( 'empty' | {msg_id(), bool(), {msg_id(), seq_id()},
+ non_neg_integer()})).
-spec(ack/2 :: (queue_name(), [{msg_id(), seq_id()}]) -> 'ok').
-spec(tx_publish/2 :: (msg_id(), binary()) -> 'ok').
-spec(tx_commit/3 :: (queue_name(), [msg_id()], [{msg_id(), seq_id()}]) ->
diff --git a/src/rabbit_guid.erl b/src/rabbit_guid.erl
index fe5acc83..3aa2989a 100644
--- a/src/rabbit_guid.erl
+++ b/src/rabbit_guid.erl
@@ -42,7 +42,7 @@
terminate/2, code_change/3]).
-define(SERVER, ?MODULE).
--define(SERIAL_FILENAME, rabbit_guid).
+-define(SERIAL_FILENAME, "rabbit_guid").
-record(state, {serial}).
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl
index bf4a69db..2971e332 100644
--- a/src/rabbit_misc.erl
+++ b/src/rabbit_misc.erl
@@ -114,7 +114,7 @@
-spec(format_stderr/2 :: (string(), [any()]) -> 'ok').
-spec(start_applications/1 :: ([atom()]) -> 'ok').
-spec(stop_applications/1 :: ([atom()]) -> 'ok').
--spec(unfold/2 :: (fun ((A) -> ({'true', B, A} | 'false')), A) -> [B]).
+-spec(unfold/2 :: (fun ((A) -> ({'true', B, A} | 'false')), A) -> {[B], A}).
-endif.
diff --git a/src/rabbit_mixed_queue.erl b/src/rabbit_mixed_queue.erl
index 6caea55d..9aa290a0 100644
--- a/src/rabbit_mixed_queue.erl
+++ b/src/rabbit_mixed_queue.erl
@@ -49,6 +49,45 @@
}
).
+-ifdef(use_specs).
+
+-type(mode() :: ( 'disk' | 'mixed' )).
+-type(mqstate() :: #mqstate { mode :: mode(),
+ msg_buf :: queue(),
+ queue :: queue_name(),
+ is_durable :: bool(),
+ length :: non_neg_integer()
+ }).
+-type(acktag() :: ( 'noack' | { non_neg_integer(), non_neg_integer() })).
+
+-spec(init/3 :: (queue_name(), bool(), mode()) ->
+ {'ok', mqstate()}).
+-spec(publish/2 :: (message(), mqstate()) ->
+ {'ok', mqstate()}).
+-spec(publish_delivered/2 :: (message(), mqstate()) ->
+ {'ok', acktag(), mqstate()}).
+-spec(deliver/1 :: (mqstate()) ->
+ {('empty' | {message(), bool(), acktag(), non_neg_integer()}),
+ mqstate()}).
+-spec(ack/2 :: ([acktag()], mqstate()) ->
+ {'ok', mqstate()}).
+-spec(tx_publish/2 :: (message(), mqstate()) ->
+ {'ok', mqstate()}).
+-spec(tx_commit/3 :: ([message()], [acktag()], mqstate()) ->
+ {'ok', mqstate()}).
+-spec(tx_cancel/2 :: ([message()], mqstate()) ->
+ {'ok', mqstate()}).
+-spec(requeue/2 :: ([{message(), acktag()}], mqstate()) ->
+ {'ok', mqstate()}).
+-spec(purge/1 :: (mqstate()) ->
+ {'ok', mqstate()}).
+-spec(delete_queue/1 :: (mqstate()) ->
+ {'ok', mqstate()}).
+-spec(length/1 :: (mqstate()) -> non_neg_integer()).
+-spec(is_empty/1 :: (mqstate()) -> bool()).
+
+-endif.
+
init(Queue, IsDurable, disk) ->
purge_non_persistent_messages(
#mqstate { mode = disk, msg_buf = queue:new(), queue = Queue,
diff --git a/src/rabbit_queue_mode_manager.erl b/src/rabbit_queue_mode_manager.erl
index 6bb197ef..b36bb8be 100644
--- a/src/rabbit_queue_mode_manager.erl
+++ b/src/rabbit_queue_mode_manager.erl
@@ -43,6 +43,20 @@
-define(SERVER, ?MODULE).
+-ifdef(use_specs).
+
+-type(mode() :: ( 'unlimited' | 'ram_disk' | 'disk_only' )).
+-type(queue_mode() :: ( 'mixed' | 'disk' )).
+
+-spec(start_link/0 :: () ->
+ ({'ok', pid()} | 'ignore' | {'error', any()})).
+-spec(register/1 :: (pid()) -> {'ok', queue_mode()}).
+-spec(change_memory_footprint/2 :: (pid(), bool()) -> 'ok').
+-spec(reduce_memory_footprint/0 :: () -> 'ok').
+-spec(increase_memory_footprint/0 :: () -> 'ok').
+
+-endif.
+
-record(state, { mode,
queues
}).