new -> init

This commit is contained in:
Feng Lee 2015-03-05 02:26:22 +08:00
parent ebd056f60b
commit fb6e3dc066
3 changed files with 20 additions and 22 deletions

View File

@ -19,7 +19,6 @@
%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE %% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
%% SOFTWARE. %% SOFTWARE.
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
-module(emqtt_client). -module(emqtt_client).
-author('feng@emqtt.io'). -author('feng@emqtt.io').
@ -40,27 +39,26 @@
-include("emqtt_packet.hrl"). -include("emqtt_packet.hrl").
%%Client State... %%Client State...
-record(state, { -record(state, {transport,
transport, socket,
socket, peer_name,
peer_name, conn_name,
conn_name, await_recv,
await_recv, conn_state,
conn_state, conserve,
conserve, parse_state,
parse_state, proto_state,
proto_state, keepalive}).
keepalive
}).
start_link(SockArgs) -> start_link(SockArgs) ->
{ok, proc_lib:spawn_link(?MODULE, init, [SockArgs])}. {ok, proc_lib:spawn_link(?MODULE, init, [SockArgs])}.
%%TODO: rename?
info(Pid) -> info(Pid) ->
gen_server:call(Pid, info). gen_server:call(Pid, info).
init(SockArgs = {Transport, Sock, _SockFun}) -> init(SockArgs = {Transport, Sock, _SockFun}) ->
%%TODO: replace emqtt_net?? %transform if ssl.
{ok, NewSock} = esockd_connection:accept(SockArgs), {ok, NewSock} = esockd_connection:accept(SockArgs),
{ok, Peername} = emqtt_net:peer_string(Sock), {ok, Peername} = emqtt_net:peer_string(Sock),
{ok, ConnStr} = emqtt_net:connection_string(Sock, inbound), {ok, ConnStr} = emqtt_net:connection_string(Sock, inbound),
@ -72,8 +70,8 @@ init(SockArgs = {Transport, Sock, _SockFun}) ->
await_recv = false, await_recv = false,
conn_state = running, conn_state = running,
conserve = false, conserve = false,
parse_state = emqtt_parser:new(), parse_state = emqtt_parser:init(),
proto_state = emqtt_protocol:initial_state(Transport, NewSock, Peername)}), proto_state = emqtt_protocol:init(Transport, NewSock, Peername)}),
gen_server:enter_loop(?MODULE, [], State, 10000). gen_server:enter_loop(?MODULE, [], State, 10000).
handle_call(info, _From, State = #state{ handle_call(info, _From, State = #state{
@ -174,7 +172,7 @@ process_received_bytes(Bytes,
{ok, ProtoState1} -> {ok, ProtoState1} ->
process_received_bytes( process_received_bytes(
Rest, Rest,
State#state{ parse_state = emqtt_parser:new(), State#state{ parse_state = emqtt_parser:init(),
proto_state = ProtoState1 }); proto_state = ProtoState1 });
{error, Error} -> {error, Error} ->
lager:error("MQTT protocol error ~p for connection ~p~n", [Error, ConnStr]), lager:error("MQTT protocol error ~p for connection ~p~n", [Error, ConnStr]),

View File

@ -31,7 +31,7 @@
-include("emqtt_packet.hrl"). -include("emqtt_packet.hrl").
%% API %% API
-export([new/0, parse/2]). -export([init/0, parse/2]).
%%%----------------------------------------------------------------------------- %%%-----------------------------------------------------------------------------
@ -40,8 +40,8 @@
%% %%
%% @end %% @end
%%%----------------------------------------------------------------------------- %%%-----------------------------------------------------------------------------
-spec new() -> none. -spec init() -> none.
new() -> none. init() -> none.
%%%----------------------------------------------------------------------------- %%%-----------------------------------------------------------------------------
%% @doc %% @doc

View File

@ -30,7 +30,7 @@
%% API Function Exports %% API Function Exports
%% ------------------------------------------------------------------ %% ------------------------------------------------------------------
-export([initial_state/3, client_id/1]). -export([init/3, client_id/1]).
-export([handle_packet/2, send_message/2, send_packet/2, redeliver/2, shutdown/2]). -export([handle_packet/2, send_message/2, send_packet/2, redeliver/2, shutdown/2]).
@ -73,7 +73,7 @@
-define(PUBACK_PACKET(PacketId), #mqtt_packet_puback { packet_id = PacketId }). -define(PUBACK_PACKET(PacketId), #mqtt_packet_puback { packet_id = PacketId }).
initial_state(Transport, Socket, Peername) -> init(Transport, Socket, Peername) ->
#proto_state{ #proto_state{
transport = Transport, transport = Transport,
socket = Socket, socket = Socket,