diff --git a/README.md b/README.md index 020d0648e..de4686df3 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ eMQTT is a scalable, fault-tolerant and extensible mqtt broker written in Erlang/OTP. +eMQTT support MQTT V3.1 Protocol Specification. + eMQTT requires Erlang R17+. ## Startup in Five Minutes diff --git a/apps/emqtt/include/emqtt_frame.hrl b/apps/emqtt/include/emqtt_frame.hrl index 1aca3243c..bdaa087b7 100644 --- a/apps/emqtt/include/emqtt_frame.hrl +++ b/apps/emqtt/include/emqtt_frame.hrl @@ -18,6 +18,8 @@ %% Copyright (c) 2007-2012 VMware, Inc. All rights reserved. %% +-define(CLIENT_ID_MAXLEN, 1024). + -define(PROTOCOL_NAMES, [{3, <<"MQIsdp">>}, {4, <<"MQTT">>}]). -define(MQTT_PROTO_MAJOR, 3). diff --git a/apps/emqtt/src/emqtt_client.erl b/apps/emqtt/src/emqtt_client.erl index 500c66d6b..ef7a01d2d 100644 --- a/apps/emqtt/src/emqtt_client.erl +++ b/apps/emqtt/src/emqtt_client.erl @@ -43,6 +43,22 @@ -include("emqtt_frame.hrl"). +-record(state, {socket, + conn_name, + await_recv, + connection_state, + conserve, + parse_state, + message_id, + client_id, + clean_sess, + will_msg, + keep_alive, + awaiting_ack, + subtopics, + awaiting_rel}). + + -define(FRAME_TYPE(Frame, Type), Frame = #mqtt_frame{ fixed = #mqtt_frame_fixed{ type = Type }}).