helics  3.5.2
FilterCoordinator.hpp
1 /*
2 Copyright (c) 2017-2024,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #pragma once
8 
9 #include "GlobalFederateId.hpp"
10 
11 #include <vector>
12 namespace helics {
13 class FilterInfo;
18  public:
19  std::vector<FilterInfo*> sourceFilters;
20  FilterInfo* destFilter = nullptr;
21 
22  std::vector<FilterInfo*>
24  std::vector<FilterInfo*> cloningDestFilters;
25  bool hasSourceFilters = false;
26  bool hasDestFilters = false;
28  0;
30  0;
32  void closeFilter(GlobalHandle filt);
33 };
34 } // namespace helics
Definition: FilterCoordinator.hpp:17
bool hasSourceFilters
indicator that an endpoint has source filters
Definition: FilterCoordinator.hpp:25
bool hasDestFilters
indicator that an endpoint has a destination filter
Definition: FilterCoordinator.hpp:26
int ongoingSourceTransactions
counter for the number of filtered message returns expected
Definition: FilterCoordinator.hpp:27
FilterInfo * destFilter
the destination operator handle
Definition: FilterCoordinator.hpp:20
std::vector< FilterInfo * > allSourceFilters
storage for all the source filters before sorting
Definition: FilterCoordinator.hpp:23
void closeFilter(GlobalHandle filt)
Definition: FilterCoordinator.cpp:13
std::vector< FilterInfo * > cloningDestFilters
storage for cloning destination filters
Definition: FilterCoordinator.hpp:24
int ongoingDestTransactions
counter for the number of filtered message returns expected on Destination
Definition: FilterCoordinator.hpp:29
std::vector< FilterInfo * > sourceFilters
ordered set of source operators
Definition: FilterCoordinator.hpp:19
Definition: FilterInfo.hpp:29
Definition: GlobalFederateId.hpp:147
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14