mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 16:46:47 +00:00
Add bool FairMQTransportFactory::SubscribedToRegionEvents()
This commit is contained in:
parent
59e32437a2
commit
c8fc5ad33f
|
@ -97,6 +97,9 @@ class FairMQTransportFactory
|
||||||
/// @brief Subscribe to region events (creation, destruction, ...)
|
/// @brief Subscribe to region events (creation, destruction, ...)
|
||||||
/// @param callback the callback that is called when a region event occurs
|
/// @param callback the callback that is called when a region event occurs
|
||||||
virtual void SubscribeToRegionEvents(FairMQRegionEventCallback callback) = 0;
|
virtual void SubscribeToRegionEvents(FairMQRegionEventCallback callback) = 0;
|
||||||
|
/// @brief Check if there is an active subscription to region events
|
||||||
|
/// @return true/false
|
||||||
|
virtual bool SubscribedToRegionEvents() = 0;
|
||||||
/// @brief Unsubscribe from region events
|
/// @brief Unsubscribe from region events
|
||||||
virtual void UnsubscribeFromRegionEvents() = 0;
|
virtual void UnsubscribeFromRegionEvents() = 0;
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ class FairMQTransportFactoryNN final : public FairMQTransportFactory
|
||||||
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, int64_t userFlags, FairMQRegionCallback callback = nullptr, const std::string& path = "", int flags = 0) override;
|
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, int64_t userFlags, FairMQRegionCallback callback = nullptr, const std::string& path = "", int flags = 0) override;
|
||||||
|
|
||||||
void SubscribeToRegionEvents(FairMQRegionEventCallback /* callback */) override { LOG(error) << "SubscribeToRegionEvents not yet implemented for nanomsg"; }
|
void SubscribeToRegionEvents(FairMQRegionEventCallback /* callback */) override { LOG(error) << "SubscribeToRegionEvents not yet implemented for nanomsg"; }
|
||||||
|
bool SubscribedToRegionEvents() override { LOG(error) << "Region event subscriptions not yet implemented for nanomsg"; return false; }
|
||||||
void UnsubscribeFromRegionEvents() override { LOG(error) << "UnsubscribeFromRegionEvents not yet implemented for nanomsg"; }
|
void UnsubscribeFromRegionEvents() override { LOG(error) << "UnsubscribeFromRegionEvents not yet implemented for nanomsg"; }
|
||||||
std::vector<FairMQRegionInfo> GetRegionInfo() override { LOG(error) << "GetRegionInfo not yet implemented for nanomsg, returning empty vector"; return std::vector<FairMQRegionInfo>(); }
|
std::vector<FairMQRegionInfo> GetRegionInfo() override { LOG(error) << "GetRegionInfo not yet implemented for nanomsg, returning empty vector"; return std::vector<FairMQRegionInfo>(); }
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ class TransportFactory final : public FairMQTransportFactory
|
||||||
auto CreateUnmanagedRegion(const size_t size, int64_t userFlags, RegionCallback callback = nullptr, const std::string& path = "", int flags = 0) -> UnmanagedRegionPtr override;
|
auto CreateUnmanagedRegion(const size_t size, int64_t userFlags, RegionCallback callback = nullptr, const std::string& path = "", int flags = 0) -> UnmanagedRegionPtr override;
|
||||||
|
|
||||||
void SubscribeToRegionEvents(RegionEventCallback /* callback */) override { LOG(error) << "SubscribeToRegionEvents not yet implemented for OFI"; }
|
void SubscribeToRegionEvents(RegionEventCallback /* callback */) override { LOG(error) << "SubscribeToRegionEvents not yet implemented for OFI"; }
|
||||||
|
bool SubscribedToRegionEvents() override { LOG(error) << "Region event subscriptions not yet implemented for OFI"; return false; }
|
||||||
void UnsubscribeFromRegionEvents() override { LOG(error) << "UnsubscribeFromRegionEvents not yet implemented for OFI"; }
|
void UnsubscribeFromRegionEvents() override { LOG(error) << "UnsubscribeFromRegionEvents not yet implemented for OFI"; }
|
||||||
std::vector<FairMQRegionInfo> GetRegionInfo() override { LOG(error) << "GetRegionInfo not yet implemented for OFI, returning empty vector"; return std::vector<FairMQRegionInfo>(); }
|
std::vector<FairMQRegionInfo> GetRegionInfo() override { LOG(error) << "GetRegionInfo not yet implemented for OFI, returning empty vector"; return std::vector<FairMQRegionInfo>(); }
|
||||||
|
|
||||||
|
|
|
@ -247,6 +247,11 @@ void Manager::SubscribeToRegionEvents(RegionEventCallback callback)
|
||||||
fRegionEventThread = thread(&Manager::RegionEventsSubscription, this);
|
fRegionEventThread = thread(&Manager::RegionEventsSubscription, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Manager::SubscribedToRegionEvents()
|
||||||
|
{
|
||||||
|
return fRegionEventThread.joinable();
|
||||||
|
}
|
||||||
|
|
||||||
void Manager::UnsubscribeFromRegionEvents()
|
void Manager::UnsubscribeFromRegionEvents()
|
||||||
{
|
{
|
||||||
if (fRegionEventThread.joinable()) {
|
if (fRegionEventThread.joinable()) {
|
||||||
|
|
|
@ -78,6 +78,7 @@ class Manager
|
||||||
std::vector<fair::mq::RegionInfo> GetRegionInfo();
|
std::vector<fair::mq::RegionInfo> GetRegionInfo();
|
||||||
std::vector<fair::mq::RegionInfo> GetRegionInfoUnsafe();
|
std::vector<fair::mq::RegionInfo> GetRegionInfoUnsafe();
|
||||||
void SubscribeToRegionEvents(RegionEventCallback callback);
|
void SubscribeToRegionEvents(RegionEventCallback callback);
|
||||||
|
bool SubscribedToRegionEvents();
|
||||||
void UnsubscribeFromRegionEvents();
|
void UnsubscribeFromRegionEvents();
|
||||||
void RegionEventsSubscription();
|
void RegionEventsSubscription();
|
||||||
|
|
||||||
|
|
|
@ -174,6 +174,11 @@ void TransportFactory::SubscribeToRegionEvents(RegionEventCallback callback)
|
||||||
fManager->SubscribeToRegionEvents(callback);
|
fManager->SubscribeToRegionEvents(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TransportFactory::SubscribedToRegionEvents()
|
||||||
|
{
|
||||||
|
return fManager->SubscribedToRegionEvents();
|
||||||
|
}
|
||||||
|
|
||||||
void TransportFactory::UnsubscribeFromRegionEvents()
|
void TransportFactory::UnsubscribeFromRegionEvents()
|
||||||
{
|
{
|
||||||
fManager->UnsubscribeFromRegionEvents();
|
fManager->UnsubscribeFromRegionEvents();
|
||||||
|
|
|
@ -53,6 +53,7 @@ class TransportFactory final : public fair::mq::TransportFactory
|
||||||
UnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, int64_t userFlags, RegionCallback callback = nullptr, const std::string& path = "", int flags = 0) override;
|
UnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, int64_t userFlags, RegionCallback callback = nullptr, const std::string& path = "", int flags = 0) override;
|
||||||
|
|
||||||
void SubscribeToRegionEvents(RegionEventCallback callback) override;
|
void SubscribeToRegionEvents(RegionEventCallback callback) override;
|
||||||
|
bool SubscribedToRegionEvents() override;
|
||||||
void UnsubscribeFromRegionEvents() override;
|
void UnsubscribeFromRegionEvents() override;
|
||||||
std::vector<fair::mq::RegionInfo> GetRegionInfo() override;
|
std::vector<fair::mq::RegionInfo> GetRegionInfo() override;
|
||||||
|
|
||||||
|
|
|
@ -132,6 +132,11 @@ void FairMQTransportFactoryZMQ::SubscribeToRegionEvents(FairMQRegionEventCallbac
|
||||||
fRegionEventThread = thread(&FairMQTransportFactoryZMQ::RegionEventsSubscription, this);
|
fRegionEventThread = thread(&FairMQTransportFactoryZMQ::RegionEventsSubscription, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FairMQTransportFactoryZMQ::SubscribedToRegionEvents()
|
||||||
|
{
|
||||||
|
return fRegionEventThread.joinable();
|
||||||
|
}
|
||||||
|
|
||||||
void FairMQTransportFactoryZMQ::UnsubscribeFromRegionEvents()
|
void FairMQTransportFactoryZMQ::UnsubscribeFromRegionEvents()
|
||||||
{
|
{
|
||||||
if (fRegionEventThread.joinable()) {
|
if (fRegionEventThread.joinable()) {
|
||||||
|
|
|
@ -52,6 +52,7 @@ class FairMQTransportFactoryZMQ final : public FairMQTransportFactory
|
||||||
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, const int64_t userFlags, FairMQRegionCallback callback, const std::string& path = "", int flags = 0) override;
|
FairMQUnmanagedRegionPtr CreateUnmanagedRegion(const size_t size, const int64_t userFlags, FairMQRegionCallback callback, const std::string& path = "", int flags = 0) override;
|
||||||
|
|
||||||
void SubscribeToRegionEvents(FairMQRegionEventCallback callback) override;
|
void SubscribeToRegionEvents(FairMQRegionEventCallback callback) override;
|
||||||
|
bool SubscribedToRegionEvents() override;
|
||||||
void UnsubscribeFromRegionEvents() override;
|
void UnsubscribeFromRegionEvents() override;
|
||||||
void RegionEventsSubscription();
|
void RegionEventsSubscription();
|
||||||
std::vector<fair::mq::RegionInfo> GetRegionInfo() override;
|
std::vector<fair::mq::RegionInfo> GetRegionInfo() override;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user