gnostr_relay_proxy/include/proxy.hpp

33 lines
674 B
C++
Raw Normal View History

2023-11-28 15:03:21 +00:00
#pragma once
#include <queue>
2023-11-28 22:01:14 +00:00
#include <grpcpp/grpcpp.h>
2023-11-28 15:03:21 +00:00
#include "request.hpp"
2023-11-28 22:01:14 +00:00
#include "api.hpp"
2023-11-28 15:03:21 +00:00
using namespace relay_middleware::nostr;
namespace relay_middleware::proxy
{
class RelayProxy
{
private:
std::queue<const NostrRequest> req_queue;
2023-11-28 22:01:14 +00:00
RelayHandlerClient client;
2023-11-28 15:03:21 +00:00
public:
2023-11-28 22:01:14 +00:00
RelayProxy(const std::string &backend) : client(grpc::CreateChannel(backend, grpc::InsecureChannelCredentials()))
{
}
2023-11-28 15:03:21 +00:00
auto push(const NostrRequest &&req) -> void
{
req_queue.push(std::move(req));
}
2023-11-28 22:01:14 +00:00
auto next() -> void
{
auto req = req_queue.back();
}
2023-11-28 15:03:21 +00:00
};
}