Skip to main content

AVxcelerate Simulation Framework 2026 R1 SP01

File i_publisher.h

Last update: 22.04.2026

Location: core/communication/i_publisher.h

Classes

Namespaces

Includes

  • core/export/simfwk_core_export.h

Included by

Source



#ifndef SIMFWK_CORE_COMMUNICATION_IPUBLISHER_H
#define SIMFWK_CORE_COMMUNICATION_IPUBLISHER_H

#include "core/export/simfwk_core_export.h"
#include <chrono>
#include <memory>
#include <string>
#include <vector>

namespace simulation_framework
{
namespace core
{

class SIMFWK_CORE_API IPublisher
{
  public:
    virtual ~IPublisher() = default;
    virtual void Execute() = 0;
    virtual void Init() = 0;
    virtual bool WaitForSubscriber(std::chrono::milliseconds timeout = std::chrono::milliseconds(60000)) = 0;
    virtual bool WaitForSubscribersInNumberOf(const int subscriber_count,
                                              std::chrono::milliseconds timeout = std::chrono::milliseconds(60000)) = 0;
};

using Publishers = std::vector<std::unique_ptr<IPublisher>>;

}  // namespace core
}  // namespace simulation_framework

#endif  // SIMFWK_CORE_COMMUNICATION_IPUBLISHER_H

Connect with Ansys