fix accept stream

This commit is contained in:
anlicheng 2026-02-19 22:43:26 +08:00
parent 73d86101ca
commit c1f28aeb55

View File

@ -99,25 +99,19 @@ handle_event(internal, do_init, initializing, State=#state{conn = Conn}) ->
{ok, _} = quicer:async_accept_stream(Conn, #{active => true}),
{next_state, waiting_stream, State};
handle_event(info, Info, waiting_stream, State=#state{conn = Conn, max_packet_size = MaxPacketSize, heartbeat_sec = HeartbeatSec}) ->
logger:debug("[sdlan_quic_channel] call do_init of info: ~p", [Info]),
case quicer:accept_stream(Conn, #{active => true}) of
{ok, Stream} ->
%%
WelcomePkt = sdlan_pb:encode_msg(#sdl_welcome{
version = 1,
max_bidi_streams = 1,
max_packet_size = MaxPacketSize,
heartbeat_sec = HeartbeatSec
}),
quic_send(Stream, <<?PACKET_WELCOME, WelcomePkt/binary>>),
logger:debug("[sdlan_quic_channel] get stream: ~p, send welcome", [Stream]),
handle_event(info, {quic, new_stream, Stream, Opts}, waiting_stream, State=#state{conn = Conn, max_packet_size = MaxPacketSize, heartbeat_sec = HeartbeatSec}) ->
logger:debug("[sdlan_quic_channel] call new_stream: ~p, opts: ~p", [Stream, Opts]),
%%
WelcomePkt = sdlan_pb:encode_msg(#sdl_welcome{
version = 1,
max_bidi_streams = 1,
max_packet_size = MaxPacketSize,
heartbeat_sec = HeartbeatSec
}),
quic_send(Stream, <<?PACKET_WELCOME, WelcomePkt/binary>>),
logger:debug("[sdlan_quic_channel] get stream: ~p, send welcome", [Stream]),
{next_state, initialized, State#state{stream = Stream}};
{error, Reason} ->
logger:error("[sdlan_quic_channel] accept stream failed: ~p", [Reason]),
{stop, Reason, State}
end;
{next_state, initialized, State#state{stream = Stream}};
handle_event(info, {frame, <<?PACKET_REGISTER_SUPER, Body/binary>>}, initialized, State=#state{stream = Stream}) ->
#sdl_register_super{