summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit.erl5
-rw-r--r--src/rabbit_disk_queue.erl9
-rw-r--r--src/rabbit_mixed_queue.erl4
3 files changed, 10 insertions, 8 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 0de93e9971..3a15e6b07c 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -155,6 +155,11 @@ start(normal, []) ->
fun () ->
ok = start_child(rabbit_persister)
end},
+ {"disk queue",
+ fun () ->
+ ok = start_child(rabbit_disk_queue),
+ ok = rabbit_disk_queue:to_ram_disk_mode() %% TODO, CHANGE ME
+ end},
{"guid generator",
fun () ->
ok = start_child(rabbit_guid)
diff --git a/src/rabbit_disk_queue.erl b/src/rabbit_disk_queue.erl
index b73e456c22..d13b6eb620 100644
--- a/src/rabbit_disk_queue.erl
+++ b/src/rabbit_disk_queue.erl
@@ -33,7 +33,7 @@
-behaviour(gen_server).
--export([start_link/1]).
+-export([start_link/0]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
@@ -63,6 +63,7 @@
-define(SERVER, ?MODULE).
-define(MAX_READ_FILE_HANDLES, 256).
+-define(FILE_SIZE_LIMIT, (25*1024*1024)).
-record(dqstate, {msg_location_dets, %% where are messages?
msg_location_ets, %% as above, but for ets version
@@ -226,7 +227,7 @@
-type(seq_id() :: non_neg_integer()).
-type(seq_id_or_next() :: { seq_id() | 'next' }).
--spec(start_link/1 :: (non_neg_integer()) ->
+-spec(start_link/0 :: () ->
{'ok', pid()} | 'ignore' | {'error', any()}).
-spec(publish/3 :: (queue_name(), msg_id(), binary()) -> 'ok').
-spec(publish_with_seq/4 :: (queue_name(), msg_id(), seq_id_or_next(), binary()) -> 'ok').
@@ -255,9 +256,9 @@
%% ---- PUBLIC API ----
-start_link(FileSizeLimit) ->
+start_link() ->
gen_server:start_link({local, ?SERVER}, ?MODULE,
- [FileSizeLimit, ?MAX_READ_FILE_HANDLES], []).
+ [?FILE_SIZE_LIMIT, ?MAX_READ_FILE_HANDLES], []).
publish(Q, MsgId, Msg) when is_binary(Msg) ->
gen_server:cast(?SERVER, {publish, Q, MsgId, Msg}).
diff --git a/src/rabbit_mixed_queue.erl b/src/rabbit_mixed_queue.erl
index b807fce20f..6a8f30979a 100644
--- a/src/rabbit_mixed_queue.erl
+++ b/src/rabbit_mixed_queue.erl
@@ -46,11 +46,7 @@
}
).
--define(FILE_SIZE_LIMIT, (100*1024*1024)).
-
start_link(Queue, Mode) when Mode =:= disk orelse Mode =:= mixed ->
- rabbit_disk_queue:start_link(?FILE_SIZE_LIMIT),
- rabbit_disk_queue:to_ram_disk_mode(), %% TODO, CHANGE ME
{ok, #mqstate { mode = Mode, msg_buf = queue:new(), next_write_seq = 1, queue = Queue }}.
msg_to_bin(Msg = #basic_message { content = Content }) ->