Files
Jungfraujoch/writer/JFJochWriterService.h
Filip Leonarski 1757d42182 Initial commit
Signed-off-by: Filip Leonarski <filip.leonarski@psi.ch>
2023-04-06 11:17:59 +02:00

30 lines
1.2 KiB
C++

// Copyright (2019-2022) Paul Scherrer Institute
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef JUNGFRAUJOCH_JFJOCHWRITERSERVICE_H
#define JUNGFRAUJOCH_JFJOCHWRITERSERVICE_H
#include <shared_mutex>
#include "jfjoch.grpc.pb.h"
#include "StreamWriter.h"
class JFJochWriterService final : public JFJochProtoBuf::gRPC_JFJochWriter::Service {
std::shared_mutex m;
std::unique_ptr<StreamWriter> writer;
Logger &logger;
ZMQContext &zmq_context;
std::future<ZMQImagePullerStatistics> writer_future;
public:
JFJochWriterService(ZMQContext &in_context, Logger &in_logger);
JFJochWriterService &BaseDirectory(const std::string& input);
grpc::Status Start(grpc::ServerContext *context, const JFJochProtoBuf::WriterInput *request,
JFJochProtoBuf::Empty *response) override;
grpc::Status Stop(grpc::ServerContext *context, const JFJochProtoBuf::Empty *request,
JFJochProtoBuf::WriterOutput *response) override;
grpc::Status Abort(grpc::ServerContext *context, const JFJochProtoBuf::Empty *request,
JFJochProtoBuf::Empty *response) override;
};
#endif //JUNGFRAUJOCH_JFJOCHWRITERSERVICE_H