iot_cloud/apps/iot/src/iot_udp_handler.erl
2024-01-12 17:25:21 +08:00

26 lines
734 B
Erlang

%%%-------------------------------------------------------------------
%%% @author aresei
%%% @copyright (C) 2023, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 31. 8月 2023 13:48
%%%-------------------------------------------------------------------
-module(iot_udp_handler).
-author("aresei").
%% API
-export([start_link/2, loop/2]).
start_link(Transport, Peer) ->
{ok, spawn_link(?MODULE, loop, [Transport, Peer])}.
loop(Transport = {udp, Server, _Sock}, Peer) ->
receive
{datagram, Server, <<Len:16, HostUUID:Len/binary>>} ->
Pid = iot_host:get_pid(HostUUID),
iot_host:heartbeat(Pid),
loop(Transport, Peer);
{datagram, Server, _} ->
exit(normal)
end.