20 template <
typename T,
typename R,
typename P>
48 }
catch (
const std::exception& ex) {
57 "Broadcast deleted due to upstream connection error"));
61 auto handler = pipelineFactory->getBroadcastHandler(pipeline);
76 template <
typename T,
typename R,
typename P>
79 CHECK(
client_->getPipeline() == pipeline);
84 template <
typename T,
typename R,
typename P>
87 LOG(ERROR) <<
"Error connecting to upstream: " << ex.what();
91 sharedPromise.setException(folly::make_exception_wrapper<std::exception>(ex));
94 template <
typename T,
typename R,
typename P>
96 const R& routingData) {
99 return iter->second->getHandler();
105 auto broadcastPtr = broadcast.get();
111 return broadcastPtr->getHandler();
void deletePipeline(PipelineBase *pipeline) override
folly::Future< BroadcastHandler< T, R > * > getHandler()
void handleConnectError(const std::exception &ex) noexcept
constexpr detail::Map< Move > move
requires E e noexcept(noexcept(s.error(std::move(e))))
void handler(int, siginfo_t *, void *)
std::map< R, typename BroadcastManager::UniquePtr > broadcasts_
BroadcastManager(BroadcastPool< T, R, P > *broadcastPool, const R &routingData)
FOLLY_ATTR_VISIBILITY_HIDDEN static FOLLY_ALWAYS_INLINE InlineExecutor & instance() noexcept
std::unique_ptr< BaseClientBootstrap< P > > client_
virtual folly::Future< BroadcastHandler< T, R > * > getHandler(const R &routingData)
std::unique_ptr< BroadcastManager, folly::DelayedDestruction::Destructor > UniquePtr
folly::SharedPromise< BroadcastHandler< T, R > * > sharedPromise_
BroadcastPool< T, R, P > * broadcastPool_
void setPipelineManager(PipelineManager *manager)