erlang网络库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.3 KiB

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