mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 12:32:26 -05:00 
			
		
		
		
	
		
			
	
	
		
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | // Copyright 2013 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. | ||
|  | 
 | ||
|  | package ipv6 | ||
|  | 
 | ||
|  | // TrafficClass returns the traffic class field value for outgoing | ||
|  | // packets. | ||
|  | func (c *genericOpt) TrafficClass() (int, error) { | ||
|  | 	if !c.ok() { | ||
|  | 		return 0, errInvalidConn | ||
|  | 	} | ||
|  | 	so, ok := sockOpts[ssoTrafficClass] | ||
|  | 	if !ok { | ||
|  | 		return 0, errNotImplemented | ||
|  | 	} | ||
|  | 	return so.GetInt(c.Conn) | ||
|  | } | ||
|  | 
 | ||
|  | // SetTrafficClass sets the traffic class field value for future | ||
|  | // outgoing packets. | ||
|  | func (c *genericOpt) SetTrafficClass(tclass int) error { | ||
|  | 	if !c.ok() { | ||
|  | 		return errInvalidConn | ||
|  | 	} | ||
|  | 	so, ok := sockOpts[ssoTrafficClass] | ||
|  | 	if !ok { | ||
|  | 		return errNotImplemented | ||
|  | 	} | ||
|  | 	return so.SetInt(c.Conn, tclass) | ||
|  | } | ||
|  | 
 | ||
|  | // HopLimit returns the hop limit field value for outgoing packets. | ||
|  | func (c *genericOpt) HopLimit() (int, error) { | ||
|  | 	if !c.ok() { | ||
|  | 		return 0, errInvalidConn | ||
|  | 	} | ||
|  | 	so, ok := sockOpts[ssoHopLimit] | ||
|  | 	if !ok { | ||
|  | 		return 0, errNotImplemented | ||
|  | 	} | ||
|  | 	return so.GetInt(c.Conn) | ||
|  | } | ||
|  | 
 | ||
|  | // SetHopLimit sets the hop limit field value for future outgoing | ||
|  | // packets. | ||
|  | func (c *genericOpt) SetHopLimit(hoplim int) error { | ||
|  | 	if !c.ok() { | ||
|  | 		return errInvalidConn | ||
|  | 	} | ||
|  | 	so, ok := sockOpts[ssoHopLimit] | ||
|  | 	if !ok { | ||
|  | 		return errNotImplemented | ||
|  | 	} | ||
|  | 	return so.SetInt(c.Conn, hoplim) | ||
|  | } |