• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

STEllAR-GROUP / hpx / #868

16 Jan 2023 08:21PM UTC coverage: 86.487%. Remained the same
#868

push

StellarBot
Merge #6137

6137: Adding example of a simple master/slave distributed application r=hkaiser a=hkaiser

The purpose of this example is to demonstrate how HPX actions can be used to build a simple master-slave application. The master (locality 0) assigns work to the slaves (all other localities). Note that if this application is run on one locality only it uses the same locality for the master and the slave functionalities.

The slaves receive a message that encodes how many sub-tasks of a certain type they should spawn locally.


Co-authored-by: Hartmut Kaiser <hartmut.kaiser@gmail.com>

72 of 72 new or added lines in 1 file covered. (100.0%)

174663 of 201952 relevant lines covered (86.49%)

1849169.69 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

57.14
/libs/full/parcelset_base/src/locality_interface.cpp
1
//  Copyright (c) 2021 Hartmut Kaiser
2
//
3
//  SPDX-License-Identifier: BSL-1.0
4
//  Distributed under the Boost Software License, Version 1.0. (See accompanying
5
//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6

7
#include <hpx/config.hpp>
8

9
#if defined(HPX_HAVE_NETWORKING)
10
#include <hpx/modules/errors.hpp>
11

12
#include <hpx/parcelset_base/detail/locality_interface_functions.hpp>
13
#include <hpx/parcelset_base/detail/parcel_route_handler.hpp>
14
#include <hpx/parcelset_base/locality.hpp>
15
#include <hpx/parcelset_base/locality_interface.hpp>
16
#include <hpx/parcelset_base/parcel_interface.hpp>
17
#include <hpx/parcelset_base/policies/message_handler.hpp>
18

19
#include <cstddef>
20
#include <string>
21
#include <system_error>
22
#include <utility>
23

24
///////////////////////////////////////////////////////////////////////////////
25
namespace hpx::parcelset {
26

27
    parcelset::parcel create_parcel()
475,098✔
28
    {
29
        return detail::create_parcel();
475,098✔
30
    }
31

32
    locality create_locality(std::string const& name)
706✔
33
    {
34
        return detail::create_locality(name);
706✔
35
    }
36

37
    namespace detail {
38

39
        void parcel_route_handler(
×
40
            std::error_code const& ec, parcelset::parcel const& p)
41
        {
42
            parcel_route_handler_func(ec, p);
×
43
        }
×
44
    }    // namespace detail
45
}    // namespace hpx::parcelset
46

47
#endif
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc