-define(nlTcpMgrSup, nlTcpMgrSup). -define(nlSslMgrSup, nlSslMgrSup). -define(nlUdpMgrSup, nlUdpMgrSup). -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()]} | {udpOpts, [gen_udp:option()]}. %% 令牌桶相关定义 -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()).