config.go 573 B

1234567891011121314151617181920212223242526
  1. package policy
  2. import (
  3. "time"
  4. "v2ray.com/core"
  5. )
  6. // Duration converts Second to time.Duration.
  7. func (s *Second) Duration() time.Duration {
  8. if s == nil {
  9. return 0
  10. }
  11. return time.Second * time.Duration(s.Value)
  12. }
  13. func (p *Policy) ToCorePolicy() core.Policy {
  14. var cp core.Policy
  15. if p.Timeout != nil {
  16. cp.Timeouts.ConnectionIdle = p.Timeout.ConnectionIdle.Duration()
  17. cp.Timeouts.Handshake = p.Timeout.Handshake.Duration()
  18. cp.Timeouts.DownlinkOnly = p.Timeout.DownlinkOnly.Duration()
  19. cp.Timeouts.UplinkOnly = p.Timeout.UplinkOnly.Duration()
  20. }
  21. return cp
  22. }