sock_windows.mx raw

   1  // Copyright 2009 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  package net
   6  
   7  import (
   8  	"internal/syscall/windows"
   9  	"os"
  10  	"syscall"
  11  )
  12  
  13  func maxListenerBacklog() int {
  14  	// When the socket backlog is SOMAXCONN, Windows will set the backlog to
  15  	// "a reasonable maximum value".
  16  	// See: https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen
  17  	return syscall.SOMAXCONN
  18  }
  19  
  20  func sysSocket(family, sotype, proto int) (syscall.Handle, error) {
  21  	s, err := wsaSocketFunc(int32(family), int32(sotype), int32(proto),
  22  		nil, 0, windows.WSA_FLAG_OVERLAPPED|windows.WSA_FLAG_NO_HANDLE_INHERIT)
  23  	if err != nil {
  24  		return syscall.InvalidHandle, os.NewSyscallError("socket", err)
  25  	}
  26  	return s, nil
  27  }
  28