%%%------------------------------------------------------------------- %%% @author anlicheng %%% @copyright (C) 2025, %%% @doc %%% 内部地址协议注册表 %%% @end %%% Created : 13. 12月 2025 21:09 %%%------------------------------------------------------------------- -module(sdlan_domain_regedit). -author("anlicheng"). %% API -export([init/0, insert/1, maybe_domain/1]). -define(TABLE, sdlan_domain_regedit). init() -> ets:new(?TABLE, [named_table, ordered_set, public, {read_concurrency, true}, {write_concurrency, true}]). -spec maybe_domain(QName :: binary()) -> boolean(). maybe_domain(QName) when is_binary(QName) -> case binary:split(QName, <<".">>) of [_, Domain] -> case ets:lookup(?TABLE, Domain) of [{Domain}] -> true; [] -> false end; _ -> false end. -spec insert(Domain :: binary()) -> no_return(). insert(Domain) when is_binary(Domain) -> true = ets:insert(?TABLE, {Domain}).