1 /******************************************************************************* 2 * thrill/net/tcp/construct.hpp 3 * 4 * Part of Project Thrill - http://project-thrill.org 5 * 6 * Copyright (C) 2015 Emanuel Jöbstl <emanuel.joebstl@gmail.com> 7 * Copyright (C) 2015 Timo Bingmann <tb@panthema.net> 8 * 9 * All rights reserved. Published under the BSD-2 license in the LICENSE file. 10 ******************************************************************************/ 11 12 #pragma once 13 #ifndef THRILL_NET_TCP_CONSTRUCT_HEADER 14 #define THRILL_NET_TCP_CONSTRUCT_HEADER 15 16 #include <thrill/net/tcp/group.hpp> 17 18 #include <memory> 19 #include <string> 20 #include <vector> 21 22 namespace thrill { 23 namespace net { 24 namespace tcp { 25 26 //! \addtogroup net_tcp TCP Socket API 27 //! \{ 28 29 //! Connect to peers via endpoints using TCP sockets. Construct a group_count 30 //! tcp::Group objects at once. Within each Group this host has my_rank. 31 void Construct(SelectDispatcher& dispatcher, size_t my_rank, 32 const std::vector<std::string>& endpoints, 33 std::unique_ptr<Group>* groups, size_t group_count); 34 35 //! Connect to peers via endpoints using TCP sockets. Construct a group_count 36 //! net::Group objects at once. Within each Group this host has my_rank. 37 std::vector<std::unique_ptr<net::Group> > 38 Construct(SelectDispatcher& dispatcher, size_t my_rank, 39 const std::vector<std::string>& endpoints, size_t group_count); 40 41 //! \} 42 43 } // namespace tcp 44 } // namespace net 45 } // namespace thrill 46 47 #endif // !THRILL_NET_TCP_CONSTRUCT_HEADER 48 49 /******************************************************************************/ 50