erlang网络库
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

57 行
1.4 KiB

5 年前
5 年前
5 年前
5 年前
5 年前
  1. -define(nlTcpMgrSup, nlTcpMgrSup).
  2. -define(nlSslMgrSup, nlSslMgrSup).
  3. -define(nlUdpMgrSup, nlUdpMgrSup).
  4. %% gen_tcp ready maybe to set sock options
  5. %% %% ssl ready and then need do ntSslAcceptor:handshake/3 and maybe to set other options
  6. -define(mSockReady, mSockReady).
  7. -define(TCP_DEFAULT_OPTIONS, [
  8. binary
  9. , {packet, 4}
  10. , {active, false}
  11. , {reuseaddr, true}
  12. , {nodelay, false}
  13. , {delay_send, true}
  14. , {send_timeout, 15000}
  15. , {keepalive, true}
  16. , {exit_on_close, true}
  17. ]).
  18. -define(ACCEPTOR_POOL, 16).
  19. -define(SSL_CLOSE_TIMEOUT, 5000).
  20. -define(SSL_HANDSHAKE_TIMEOUT, 15000).
  21. -define(PROXY_RECV_TIMEOUT, 5000).
  22. -type listenOpt() ::
  23. {aptCnt, non_neg_integer()} |
  24. {conMod, atom()} |
  25. {tcpOpts, [gen_tcp:listen_option()]} |
  26. {sslOpts, [ssl:ssl_option()]} |
  27. {udpOpts, [gen_udp:option()]}.
  28. -export_type([listenOpt/0]).
  29. %% 令牌桶相关定义
  30. -record(tokenBucket, {
  31. rate :: pos_integer() %% 速率
  32. , tokens :: non_neg_integer() %% 剩余tokens数量
  33. , lastTime :: pos_integer() %% 最后一次更新访问时间单位毫秒
  34. , bucketSize :: pos_integer() %% 桶大小 可以容纳的令牌数量
  35. }).
  36. -type(socket() :: esockd_transport:socket()).
  37. -type(mfargs() :: atom() | {atom(), atom()} | {module(), atom(), [term()]}).
  38. -type(sock_fun() :: fun((esockd_transport:socket()) -> {ok, esockd_transport:socket()} | {error, term()})).
  39. -type(host() :: inet:ip_address() | string()).