Beispiel #1
0
// Start begins the server. It will return an error if starting the Server
// fails, or return nil on success.
func (s *Server) Start() error {
	l, err := net.Listen("tcp", "127.0.0.1:12311")
	if err != nil {
		return err
	}
	defer l.Close()

	// create the RPC handler
	rpc := &rpcServer{
		log:            s.log.Clone(),
		pendingUploads: make(map[string]*pendingContainer),
	}

	// check if we were given an existing manager
	if s.options.ContainerManager != nil {
		rpc.manager = s.options.ContainerManager
	} else {
		// initialize the container manager
		rpc.manager, err = s.initializeManager()
		if err != nil {
			return err
		}
	}

	// create the gRPC server and run
	gs := grpc.NewServer()
	pb.RegisterKurmaServer(gs, rpc)
	s.log.Debug("Server is ready")
	gs.Serve(l)
	return nil
}
Beispiel #2
0
// Start begins the server. It will return an error if starting the Server
// fails, or return nil on success.
func (s *Server) Start() error {
	l, err := net.Listen("tcp", s.options.BindAddress)
	if err != nil {
		return err
	}
	defer l.Close()

	// create the client RPC connection to the host
	conn, err := grpc.Dial("127.0.0.1:12311")
	if err != nil {
		return err
	}

	// create the RPC handler
	rpc := &rpcServer{
		log:    s.log.Clone(),
		client: pb.NewKurmaClient(conn),
	}

	// create the gRPC server and run
	gs := grpc.NewServer()
	pb.RegisterKurmaServer(gs, rpc)
	s.log.Debug("Server is ready")
	gs.Serve(l)
	return nil
}