Program Listing for File Sync.hpp

Return to documentation for file (include/depthai/pipeline/node/Sync.hpp)

#pragma once

#include <chrono>

#include "depthai-shared/properties/SyncProperties.hpp"
#include "depthai/pipeline/Node.hpp"

namespace dai {
namespace node {

class Sync : public NodeCRTP<Node, Sync, SyncProperties> {
   public:
    constexpr static const char* NAME = "Sync";
    Sync(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);

    Sync(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);

    InputMap inputs;

    Output out{*this, "out", Output::Type::MSender, {{DatatypeEnum::MessageGroup, false}}};

    void setSyncThreshold(std::chrono::nanoseconds syncThreshold);

    void setSyncAttempts(int syncAttempts);

    std::chrono::nanoseconds getSyncThreshold() const;

    int getSyncAttempts() const;
};

}  // namespace node
}  // namespace dai