Skip to content
Snippets Groups Projects
Select Git revision
  • 3c4f138bb9531a2bfe9b58b5f5a4876d7a04f36c
  • master default protected
  • L2SS-1914-fix_job_dispatch
  • TMSS-3170
  • TMSS-3167
  • TMSS-3161
  • TMSS-3158-Front-End-Only-Allow-Changing-Again
  • TMSS-3133
  • TMSS-3319-Fix-Templates
  • test-fix-deploy
  • TMSS-3134
  • TMSS-2872
  • defer-state
  • add-custom-monitoring-points
  • TMSS-3101-Front-End-Only
  • TMSS-984-choices
  • SDC-1400-Front-End-Only
  • TMSS-3079-PII
  • TMSS-2936
  • check-for-max-244-subbands
  • TMSS-2927---Front-End-Only-PXII
  • Before-Remove-TMSS
  • LOFAR-Release-4_4_318 protected
  • LOFAR-Release-4_4_317 protected
  • LOFAR-Release-4_4_316 protected
  • LOFAR-Release-4_4_315 protected
  • LOFAR-Release-4_4_314 protected
  • LOFAR-Release-4_4_313 protected
  • LOFAR-Release-4_4_312 protected
  • LOFAR-Release-4_4_311 protected
  • LOFAR-Release-4_4_310 protected
  • LOFAR-Release-4_4_309 protected
  • LOFAR-Release-4_4_308 protected
  • LOFAR-Release-4_4_307 protected
  • LOFAR-Release-4_4_306 protected
  • LOFAR-Release-4_4_304 protected
  • LOFAR-Release-4_4_303 protected
  • LOFAR-Release-4_4_302 protected
  • LOFAR-Release-4_4_301 protected
  • LOFAR-Release-4_4_300 protected
  • LOFAR-Release-4_4_299 protected
41 results

getOutputProcHosts.cc

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    getOutputProcHosts.cc 2.33 KiB
    //# getOutputProcHosts.cc: Real-Time Central Processor application, GPU cluster version
    //# Copyright (C) 2012-2013  ASTRON (Netherlands Institute for Radio Astronomy)
    //# P.O. Box 2, 7990 AA Dwingeloo, The Netherlands
    //#
    //# This file is part of the LOFAR software suite.
    //# The LOFAR software suite is free software: you can redistribute it and/or
    //# modify it under the terms of the GNU General Public License as published
    //# by the Free Software Foundation, either version 3 of the License, or
    //# (at your option) any later version.
    //#
    //# The LOFAR software suite is distributed in the hope that it will be useful,
    //# but WITHOUT ANY WARRANTY; without even the implied warranty of
    //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    //# GNU General Public License for more details.
    //#
    //# You should have received a copy of the GNU General Public License along
    //# with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>.
    //#
    //# $Id$
    
    #include <lofar_config.h>
    #include <unistd.h>
    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <string>
    
    #include <CoInterface/Parset.h>
    
    using namespace std;
    using namespace LOFAR;
    using namespace LOFAR::Cobalt;
    
    static void usage(const char *argv0)
    {
      cerr << "getOutputProcHosts: Helper program used in combination with rtcp" << endl;
      cerr << "Outputs a space seperate list of outputProc hosts on the stdout" << endl;
      cerr << "These hosts are retrieved using the parset (parset) class" << endl;
    
      cerr << endl;
      cerr << "Usage: " << argv0 << " parset" << endl;
      cerr << endl;
    
    }
    
    int main(int argc, char **argv)
    {
      /*
      * Parse command-line options
      */
    
      int opt;
      while ((opt = getopt(argc, argv, "h")) != -1) {
        switch (opt) {
    
        default: /* '?' */
          usage(argv[0]);
          exit(1);
        }
      }
    
      // we expect a parset filename as an additional parameter
      if (optind >= argc) {
        usage(argv[0]);
        exit(1);
      }
    
      INIT_LOGGER("rtcp"); // reuse rtcp.log_prop
    
      // Open the parset
      Parset ps(argv[optind]);
    
      // Get the list of stations and output to stdout space separated
      std::vector<string>::const_iterator host = ps.settings.outputProcHosts.begin();
      if (host != ps.settings.outputProcHosts.end()) {
        cout << *host;
        ++host;
    
        for ( ; host != ps.settings.outputProcHosts.end(); ++host) {
          cout << ' ' << *host;
        }
      }
    
      return 0;
    }