12#ifndef ROOT_ROOFIT_MultiProcess_Poller
13#define ROOT_ROOFIT_MultiProcess_Poller
22namespace MultiProcess {
46 if (it->second == &channel) {
51 throw std::runtime_error(
"Poller::unregister_channel: channel not registered");
61 throw std::logic_error(
"Poller::poll: waiting without timeout on a poller with no registered channels");
63 std::vector<const Channel *>
channels;
68 std::vector<std::size_t>
result;
76 std::vector<std::pair<std::size_t, const Channel *>>
entries_;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
One endpoint of a full-duplex interprocess message pipe.
static std::vector< std::size_t > wait(const std::vector< const Channel * > &read_channels, int timeout_ms)
Wait until at least one of read_channels has input available, flushing the pending output of all live...
Waits for input on a set of registered Channels.
std::vector< std::pair< std::size_t, const Channel * > > entries_
void unregister_channel(const Channel &channel)
std::vector< std::size_t > poll(int timeout_ms=-1) const
Wait for input; returns the registration indices of readable channels.
std::size_t register_channel(const Channel &channel)
Register a channel for input polling; returns its stable index.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...