Skip to content
Snippets Groups Projects

F files

Merged Timm Fitschen requested to merge f-files into dev
33 files
+ 1317
221
Compare changes
  • Side-by-side
  • Inline

Files

#include "caosdb/filestreaming/HandlerInterface.h"
#include "caosdb/entity/v1alpha1/main.grpc.pb.h"
#include "caosdb/entity.h"
#include "caosdb/status_code.h"
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
namespace FileExchange {
using caosdb::StatusCode;
using caosdb::entity::FileDescriptor;
using caosdb::entity::v1alpha1::FileTransmissionService;
class FileExchangeClient final {
public:
FileExchangeClient(
const std::shared_ptr<FileTransmissionService::Stub> &service)
: stub_(service) {}
~FileExchangeClient();
FileExchangeClient(const FileExchangeClient &) = delete;
FileExchangeClient &operator=(const FileExchangeClient &) = delete;
FileExchangeClient(FileExchangeClient &&) = delete;
FileExchangeClient &operator=(FileExchangeClient &&) = delete;
StatusCode upload(const FileDescriptor &file_descriptor);
StatusCode download(const FileDescriptor &file_descriptor);
void cancel();
private:
int processMessages();
grpc::CompletionQueue cq_;
std::shared_ptr<FileTransmissionService::Stub> stub_;
std::unique_ptr<HandlerInterface> handler_;
};
} // namespace FileExchange
Loading