-define(nlTcpMgrSup, nlTcpMgrSup).
|
|
-define(nlSslMgrSup, nlSslMgrSup).
|
|
-define(nlUdpMgrSup, nlUdpMgrSup).
|
|
|
|
%% gen_tcp ready maybe to set sock options
|
|
%% %% ssl ready and then need do ntSslAcceptor:handshake/3 and maybe to set other options
|
|
-define(mSockReady, mSockReady).
|
|
|
|
-define(TCP_DEFAULT_OPTIONS, [
|
|
binary
|
|
, {packet, 4}
|
|
, {active, false}
|
|
, {reuseaddr, true}
|
|
, {nodelay, false}
|
|
, {delay_send, true}
|
|
, {send_timeout, 15000}
|
|
, {keepalive, true}
|
|
, {exit_on_close, true}
|
|
]).
|
|
|
|
|
|
-define(ACCEPTOR_POOL, 16).
|
|
|
|
-define(SSL_CLOSE_TIMEOUT, 5000).
|
|
-define(SSL_HANDSHAKE_TIMEOUT, 15000).
|
|
-define(PROXY_RECV_TIMEOUT, 5000).
|
|
|
|
-type listenOpt() ::
|
|
{aptCnt, non_neg_integer()} |
|
|
{conMod, atom()} |
|
|
{tcpOpts, [gen_tcp:listen_option()]} |
|
|
{sslOpts, [ssl:ssl_option()]} |
|
|
{sslHSTet, timeout()} |
|
|
{udpOpts, [gen_udp:option()]} |
|
|
{proxyPt, boolean()} |
|
|
{proxyPtTet, timeout()}.
|
|
|
|
-export_type([listenOpt/0]).
|
|
|
|
%% 令牌桶相关定义
|
|
-record(tokenBucket, {
|
|
rate :: pos_integer() %% 速率
|
|
, tokens :: non_neg_integer() %% 剩余tokens数量
|
|
, lastTime :: pos_integer() %% 最后一次更新访问时间单位毫秒
|
|
, bucketSize :: pos_integer() %% 桶大小 可以容纳的令牌数量
|
|
}).
|
|
|
|
-type(socket() :: esockd_transport:socket()).
|
|
-type(mfargs() :: atom() | {atom(), atom()} | {module(), atom(), [term()]}).
|
|
-type(sock_fun() :: fun((esockd_transport:socket()) -> {ok, esockd_transport:socket()} | {error, term()})).
|
|
-type(host() :: inet:ip_address() | string()).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|