fix network
This commit is contained in:
parent
4109f06ce4
commit
5c3ed391ff
@ -12,7 +12,6 @@
|
||||
mysql,
|
||||
jiffy,
|
||||
hackney,
|
||||
gpb,
|
||||
throttle,
|
||||
dns_erlang,
|
||||
pkt,
|
||||
|
||||
@ -467,7 +467,7 @@ insert_endpoint(Table, Mac, Endpoint = #endpoint{}) when is_binary(Mac) ->
|
||||
delete_endpoint(Table, Mac) when is_binary(Mac) ->
|
||||
ets:delete(Table, Mac).
|
||||
|
||||
-spec lookup_endpoint(ets:tid(), Mac :: binary()) -> #endpoint{} | undefined.
|
||||
-spec lookup_endpoint(atom() | ets:tid(), Mac :: binary()) -> #endpoint{} | undefined.
|
||||
lookup_endpoint(Table, Mac) when is_binary(Mac) ->
|
||||
try ets:lookup(Table, Mac) of
|
||||
[{Mac, Endpoint = #endpoint{}}] ->
|
||||
@ -478,9 +478,7 @@ lookup_endpoint(Table, Mac) when is_binary(Mac) ->
|
||||
undefined
|
||||
end.
|
||||
|
||||
-spec list_endpoints(NetworkIdOrTable :: integer() | ets:tid()) -> [{binary(), #endpoint{}}].
|
||||
list_endpoints(NetworkId) when is_integer(NetworkId) ->
|
||||
list_endpoints(endpoint_table_name(NetworkId));
|
||||
-spec list_endpoints(atom() | ets:tid()) -> [{binary(), #endpoint{}}].
|
||||
list_endpoints(Table) ->
|
||||
try ets:tab2list(Table) of
|
||||
Endpoints when is_list(Endpoints) ->
|
||||
@ -533,12 +531,13 @@ forward_unicast_by_ets(NetworkId, Sock, SrcMac, DstMac, Packet) ->
|
||||
-spec forward_broadcast_by_ets(NetworkId :: integer(), Sock :: any(), SrcMac :: binary(), DstMac :: binary(), Packet :: binary()) ->
|
||||
{ok, integer()}.
|
||||
forward_broadcast_by_ets(NetworkId, Sock, SrcMac, DstMac, Packet) ->
|
||||
Table = endpoint_table_name(NetworkId),
|
||||
lists:foreach(fun
|
||||
({Mac, #endpoint{hole = #hole{peer = {NatIp, NatPort}}}}) when Mac =/= SrcMac ->
|
||||
gen_udp:send(Sock, NatIp, NatPort, Packet);
|
||||
(_) ->
|
||||
ok
|
||||
end, list_endpoints(NetworkId)),
|
||||
end, list_endpoints(Table)),
|
||||
logger:debug("[sdlan_network] broadcast data by ets networkd_id: ~p, src_mac: ~p, dst_mac: ~p",
|
||||
[NetworkId, sdlan_util:format_mac(SrcMac), sdlan_util:format_mac(DstMac)]),
|
||||
{ok, byte_size(Packet)}.
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
%%%-------------------------------------------------------------------
|
||||
%%% @author anlicheng
|
||||
%%% @copyright (C) 2026, <COMPANY>
|
||||
%%% @doc
|
||||
%%%
|
||||
%%% @end
|
||||
%%% Created : 13. 2月 2026 12:46
|
||||
%%%-------------------------------------------------------------------
|
||||
-module(quic_client).
|
||||
-author("anlicheng").
|
||||
|
||||
%% API
|
||||
-export([start/0]).
|
||||
-export([do_start/0]).
|
||||
|
||||
start() ->
|
||||
erlang:spawn(?MODULE, do_start, []).
|
||||
|
||||
do_start() ->
|
||||
Port = 1365,
|
||||
{ok, Conn} = quicer:connect("localhost", Port, [{alpn, ["punchnet/1.0"]}, {verify, none}], 5000),
|
||||
{ok, Stm} = quicer:start_stream(Conn, []),
|
||||
|
||||
receive
|
||||
Info ->
|
||||
logger:debug("get info: ~p", [Info])
|
||||
end,
|
||||
|
||||
Data = <<"ping">>,
|
||||
Len = byte_size(Data),
|
||||
Payload = <<Len:16, Data/binary, Len:16, Data/binary>>,
|
||||
|
||||
{ok, SendLen} = quicer:send(Stm, Payload),
|
||||
logger:debug("[quic_client] client send success: ~p", [SendLen]),
|
||||
receive {quic, <<"pong">>, Stm, _Props} -> ok end,
|
||||
ok = quicer:close_connection(Conn).
|
||||
Loading…
x
Reference in New Issue
Block a user