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.

46 regels
1.2 KiB

3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
5 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
5 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
5 jaren geleden
3 jaren geleden
5 jaren geleden
3 jaren geleden
  1. -ifndef(eNet_H).
  2. -define(eNet_H, true).
  3. %% gen_tcp ready maybe to set sock options
  4. %% ssl ready and then need do ntSslAcceptor:handshake/3 and maybe to set other options
  5. %% ppt ready and then need do ntPptAcceptor:pptAndHS/5 and maybe to set other options
  6. -define(mSockReady, mSockReady).
  7. -define(DefTpOpts, [
  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. , {back_log, 1024}
  18. ]).
  19. -define(AptCnt, 16).
  20. -define(DefSslHSTet, 15000).
  21. -define(DefProxyPtTet, 5000).
  22. -export_type([listenOpt/0]).
  23. -type listenOpt() ::
  24. {aptCnt, non_neg_integer()} |
  25. {conMod, atom()} |
  26. {conArgs, atom()} |
  27. {tcpOpts, [gen_tcp:listen_option()]} |
  28. {sslOpts, [ssl:ssl_option()]} |
  29. {sslHSTet, timeout()} |
  30. {udpOpts, [gen_udp:option()]} |
  31. {proxyPt, boolean()} |
  32. {proxyPtTet, timeout()}.
  33. %% 令牌桶相关定义
  34. -record(tBucket, {
  35. rate :: pos_integer() %% 速率
  36. , tokens :: non_neg_integer() %% 剩余tokens数量
  37. , lastTime :: pos_integer() %% 最后一次更新访问时间单位毫秒
  38. , bucketSize :: pos_integer() %% 桶大小 可以容纳的令牌数量
  39. }).
  40. -endif.