server_windows.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // +build windows
  2. package server
  3. import (
  4. "errors"
  5. "net"
  6. "net/http"
  7. "github.com/docker/docker/daemon"
  8. "github.com/docker/docker/pkg/version"
  9. "github.com/docker/docker/runconfig"
  10. )
  11. // NewServer sets up the required Server and does protocol specific checking.
  12. func (s *Server) newServer(proto, addr string) ([]serverCloser, error) {
  13. var (
  14. ls []net.Listener
  15. )
  16. switch proto {
  17. case "tcp":
  18. l, err := s.initTCPSocket(addr)
  19. if err != nil {
  20. return nil, err
  21. }
  22. ls = append(ls, l)
  23. default:
  24. return nil, errors.New("Invalid protocol format. Windows only supports tcp.")
  25. }
  26. var res []serverCloser
  27. for _, l := range ls {
  28. res = append(res, &HTTPServer{
  29. &http.Server{
  30. Addr: addr,
  31. Handler: s.router,
  32. },
  33. l,
  34. })
  35. }
  36. return res, nil
  37. }
  38. // AcceptConnections allows router to start listening for the incoming requests.
  39. func (s *Server) AcceptConnections(d *daemon.Daemon) {
  40. s.daemon = d
  41. s.registerSubRouter()
  42. // close the lock so the listeners start accepting connections
  43. select {
  44. case <-s.start:
  45. default:
  46. close(s.start)
  47. }
  48. }
  49. func allocateDaemonPort(addr string) error {
  50. return nil
  51. }
  52. func adjustCPUShares(version version.Version, hostConfig *runconfig.HostConfig) {
  53. }
  54. // getContainersByNameDownlevel performs processing for pre 1.20 APIs. This
  55. // is only relevant on non-Windows daemons.
  56. func getContainersByNameDownlevel(w http.ResponseWriter, s *Server, namevar string) error {
  57. return nil
  58. }