code: func (agent *Agent) handle(ctx context.Context, instruction *machine.ComponentsMachineProviderRpcMessagesPollResponse) error {
  	if instruction.State == "" || instruction.State == "EXECUTED" {
  		return nil
  	}
  
  	// The only type of instruction that exists is to connect to Swarming.
  	if instruction.Instruction == nil || instruction.Instruction.SwarmingServer == "" {
  		return nil
  	}
  
  	logging.Infof(ctx, "Received new instruction:\n%s", instruction)
  	start := time.Now()
  	if err := agent.configureSwarmingAutoStart(ctx, instruction.Instruction.SwarmingServer); err != nil {
  		return err
  	}
  	if err := agent.mp.ack(ctx, agent.hostname, "GCE"); err != nil {
  		return err
  	}
  	duration := float64(time.Since(start)) / float64(time.Second)
  	instructionsAcked.Add(ctx, 1, agent.server, instruction.Instruction.SwarmingServer)
  	instructionsAckedTime.Add(ctx, duration, agent.server, instruction.Instruction.SwarmingServer)
  	return agent.reboot(ctx)
  }
docs: // handle handles a received instruction.