parent
8db9f3e81d
commit
fde6a2a4c3
|
@ -303,7 +303,7 @@ handle_packet(Data, State = #state{proto_state = ProtoState,
|
||||||
idle_timeout = IdleTimeout}) ->
|
idle_timeout = IdleTimeout}) ->
|
||||||
case catch emqx_frame:parse(Data, ParserState) of
|
case catch emqx_frame:parse(Data, ParserState) of
|
||||||
{more, NewParserState} ->
|
{more, NewParserState} ->
|
||||||
{noreply, State#state{parser_state = NewParserState}, IdleTimeout};
|
{noreply, run_socket(State#state{parser_state = NewParserState}), IdleTimeout};
|
||||||
{ok, Packet = ?PACKET(Type), Rest} ->
|
{ok, Packet = ?PACKET(Type), Rest} ->
|
||||||
emqx_metrics:received(Packet),
|
emqx_metrics:received(Packet),
|
||||||
case emqx_protocol:received(Packet, ProtoState) of
|
case emqx_protocol:received(Packet, ProtoState) of
|
||||||
|
|
|
@ -49,8 +49,18 @@
|
||||||
|
|
||||||
-define(PUBPACKET, ?PUBLISH_PACKET(?PUBQOS, <<"sub/topic">>, ?PACKETID, <<"publish">>)).
|
-define(PUBPACKET, ?PUBLISH_PACKET(?PUBQOS, <<"sub/topic">>, ?PACKETID, <<"publish">>)).
|
||||||
|
|
||||||
|
-define(PAYLOAD, [{type,"dsmSimulationData"},
|
||||||
|
{id, 9999},
|
||||||
|
{status, "running"},
|
||||||
|
{soc, 1536702170},
|
||||||
|
{fracsec, 451000},
|
||||||
|
{data, lists:seq(1, 20480)}]).
|
||||||
|
|
||||||
|
-define(BIG_PUBPACKET, ?PUBLISH_PACKET(?PUBQOS, <<"sub/topic">>, ?PACKETID, emqx_json:encode(?PAYLOAD))).
|
||||||
|
|
||||||
all() ->
|
all() ->
|
||||||
[{group, connect}].
|
[{group, connect},
|
||||||
|
{group, publish}].
|
||||||
|
|
||||||
groups() ->
|
groups() ->
|
||||||
[{connect, [non_parallel_tests],
|
[{connect, [non_parallel_tests],
|
||||||
|
@ -60,6 +70,10 @@ groups() ->
|
||||||
mqtt_connect_with_ssl_oneway,
|
mqtt_connect_with_ssl_oneway,
|
||||||
mqtt_connect_with_ssl_twoway,
|
mqtt_connect_with_ssl_twoway,
|
||||||
mqtt_connect_with_ws
|
mqtt_connect_with_ws
|
||||||
|
]},
|
||||||
|
{publish, [non_parallel_tests],
|
||||||
|
[
|
||||||
|
packet_size
|
||||||
]}].
|
]}].
|
||||||
|
|
||||||
init_per_suite(Config) ->
|
init_per_suite(Config) ->
|
||||||
|
@ -157,6 +171,21 @@ mqtt_connect_with_ws(_Config) ->
|
||||||
{close, _} = rfc6455_client:close(WS),
|
{close, _} = rfc6455_client:close(WS),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
%%issue 1811
|
||||||
|
packet_size(_Config) ->
|
||||||
|
{ok, Sock} = emqx_client_sock:connect({127,0,0,1}, 1883, [binary, {packet, raw}, {active, false}], 3000),
|
||||||
|
Packet = raw_send_serialise(?CLIENT),
|
||||||
|
emqx_client_sock:send(Sock, Packet),
|
||||||
|
{ok, Data} = gen_tcp:recv(Sock, 0),
|
||||||
|
{ok, ?CONNACK_PACKET(?CONNACK_ACCEPT), _} = raw_recv_pase(Data),
|
||||||
|
|
||||||
|
%% Pub Packet QoS 1
|
||||||
|
PubPacket = raw_send_serialise(?BIG_PUBPACKET),
|
||||||
|
emqx_client_sock:send(Sock, PubPacket),
|
||||||
|
{ok, Data1} = gen_tcp:recv(Sock, 0),
|
||||||
|
{ok, ?PUBACK_PACKET(?PACKETID), _} = raw_recv_pase(Data1),
|
||||||
|
emqx_client_sock:close(Sock).
|
||||||
|
|
||||||
raw_send_serialise(Packet) ->
|
raw_send_serialise(Packet) ->
|
||||||
emqx_frame:serialize(Packet).
|
emqx_frame:serialize(Packet).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue