lib/connections: Support setting traffic class (fixes #3790)

This commit is contained in:
AudriusButkevicius
2016-12-20 20:14:52 +00:00
committed by Jakob Borg
parent 9e7d50bc76
commit 9e0afb7d8a
84 changed files with 5972 additions and 0 deletions

63
vendor/golang.org/x/net/ipv4/genericopt_posix.go generated vendored Normal file
View File

@@ -0,0 +1,63 @@
// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows
package ipv4
import (
"syscall"
"golang.org/x/net/internal/netreflect"
)
// TOS returns the type-of-service field value for outgoing packets.
func (c *genericOpt) TOS() (int, error) {
if !c.ok() {
return 0, syscall.EINVAL
}
s, err := netreflect.SocketOf(c.Conn)
if err != nil {
return 0, err
}
return getInt(s, &sockOpts[ssoTOS])
}
// SetTOS sets the type-of-service field value for future outgoing
// packets.
func (c *genericOpt) SetTOS(tos int) error {
if !c.ok() {
return syscall.EINVAL
}
s, err := netreflect.SocketOf(c.Conn)
if err != nil {
return err
}
return setInt(s, &sockOpts[ssoTOS], tos)
}
// TTL returns the time-to-live field value for outgoing packets.
func (c *genericOpt) TTL() (int, error) {
if !c.ok() {
return 0, syscall.EINVAL
}
s, err := netreflect.SocketOf(c.Conn)
if err != nil {
return 0, err
}
return getInt(s, &sockOpts[ssoTTL])
}
// SetTTL sets the time-to-live field value for future outgoing
// packets.
func (c *genericOpt) SetTTL(ttl int) error {
if !c.ok() {
return syscall.EINVAL
}
s, err := netreflect.SocketOf(c.Conn)
if err != nil {
return err
}
return setInt(s, &sockOpts[ssoTTL], ttl)
}