github.com/rsampaio/docker@v0.7.2-0.20150827203920-fdc73cc3fc31/api/server/server_windows.go (about)

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