diff --git a/apps/emqttd/src/emqttd_cm.erl b/apps/emqttd/src/emqttd_cm.erl index 90091ee14..b0ec49ed5 100644 --- a/apps/emqttd/src/emqttd_cm.erl +++ b/apps/emqttd/src/emqttd_cm.erl @@ -86,7 +86,8 @@ lookup(ClientId) when is_binary(ClientId) -> %%------------------------------------------------------------------------------ -spec register(ClientId :: binary(), Pid :: pid()) -> ok. register(ClientId, Pid) when is_binary(ClientId), is_pid(Pid) -> - gen_server:call(?SERVER, {register, ClientId, Pid}). + %%TODO: infinify to block requests when too many clients, this will be redesinged in 0.9.x... + gen_server:call(?SERVER, {register, ClientId, Pid}, infinity). %%------------------------------------------------------------------------------ %% @doc diff --git a/apps/emqttd/src/emqttd_pubsub.erl b/apps/emqttd/src/emqttd_pubsub.erl index 67b841dd8..db990d871 100644 --- a/apps/emqttd/src/emqttd_pubsub.erl +++ b/apps/emqttd/src/emqttd_pubsub.erl @@ -119,8 +119,12 @@ create(Topic) -> subscribe({Topic, Qos}, SubPid) when is_binary(Topic) and is_pid(SubPid) -> subscribe([{Topic, Qos}], SubPid); +%% TODO: +%% call will not work when there are 2000K+ clients, 100+ sub requests/sec... +%% will optimize in 0.9.x... +%% subscribe(Topics, SubPid) when is_list(Topics) and is_pid(SubPid) -> - gen_server:call(?SERVER, {subscribe, Topics, SubPid}). + gen_server:call(?SERVER, {subscribe, Topics, SubPid}, infinity). %%------------------------------------------------------------------------------ %% @doc