tcpsockopt_plan9.mx raw

   1  // Copyright 2014 The Go Authors. All rights reserved.
   2  // Use of this source code is governed by a BSD-style
   3  // license that can be found in the LICENSE file.
   4  
   5  // TCP socket options for plan9
   6  
   7  package net
   8  
   9  import (
  10  	"internal/itoa"
  11  	"syscall"
  12  	"time"
  13  )
  14  
  15  func setNoDelay(_ *netFD, _ bool) error {
  16  	return syscall.EPLAN9
  17  }
  18  
  19  // Set keep alive period.
  20  func setKeepAliveIdle(fd *netFD, d time.Duration) error {
  21  	if d < 0 {
  22  		return nil
  23  	}
  24  
  25  	cmd := "keepalive " + itoa.Itoa(int(d/time.Millisecond))
  26  	_, e := fd.ctl.WriteAt([]byte(cmd), 0)
  27  	return e
  28  }
  29  
  30  func setKeepAliveInterval(_ *netFD, d time.Duration) error {
  31  	if d < 0 {
  32  		return nil
  33  	}
  34  	return syscall.EPLAN9
  35  }
  36  
  37  func setKeepAliveCount(_ *netFD, n int) error {
  38  	if n < 0 {
  39  		return nil
  40  	}
  41  	return syscall.EPLAN9
  42  }
  43