fastinahurry/src/Publisher.cc
2025-07-27 21:38:01 -06:00

34 lines
1012 B
C++

#include "Publisher.hh"
#include <iostream>
Publisher::Publisher(std::shared_ptr<grpc::Channel> channel)
: _stub(trading::TradingService::NewStub(channel)) {}
grpc::Status Publisher::send_order(const trading::Order& order) {
grpc::ClientContext context;
trading::OrderAck ack;
grpc::Status status = _stub->SendOrder(&context, order, &ack);
if (!ack.success()) {
std::cerr << "[Error] Order rejected by server: " << order.symbol() << std::endl;
}
std::cout << "Ack received: " << ack.message() << std::endl;
return status;
}
// void StreamMarketData() {
// MarketRequest req;
// req.set_symbol("AAPL");
// ClientContext context;
// std::unique_ptr<grpc::ClientReader<MarketData>> reader(
// stub_->StreamMarketData(&context, req));
// MarketData data;
// while (reader->Read(&data)) {
// std::cout << "Market: " << data.symbol() << " $" << data.price()
// << " @ " << data.timestamp() << std::endl;
// }
// }