Skip to content

Commit

Permalink
Add missing file
Browse files Browse the repository at this point in the history
  • Loading branch information
resetius committed Nov 26, 2023
1 parent 96fda38 commit ba31113
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions client/client.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#include <messages.h>
#include <socket.hpp>
#include <vector>
#include <server.h>

template<typename Poller>
NNet::TSimpleTask Client(Poller& poller, NNet::TAddress addr) {
typename Poller::TSocket socket(std::move(addr), poller);
co_await socket.Connect();
std::cout << "Connected\n";
char buf[1024];
while (fgets(buf, sizeof(buf), stdin)) {
auto len = strlen(buf);
auto mes = NewHoldedMessage<TCommandRequest>(
sizeof(TCommandRequest) + len
);
memcpy(mes->Data, buf, len);
std::cout << "Sending\n";
co_await TWriter(socket).Write(std::move(mes));
auto response = co_await TReader(socket).Read();
std::cout << "Ok\n";
}
co_return;
}

int main(int argc, char** argv) {
signal(SIGPIPE, SIG_IGN);
std::vector<THost> hosts;
for (int i = 1; i < argc; i++) {
if (!strcmp(argv[i], "--node") && i < argc - 1) {
// address:port:id
hosts.push_back(THost{argv[++i]});
} else if (!strcmp(argv[i], "--help")) {

}
}
std::shared_ptr<ITimeSource> timeSource = std::make_shared<TTimeSource>();
NNet::TLoop<NNet::TPoll> loop;
Client(loop.Poller(), NNet::TAddress{hosts[0].Address, hosts[0].Port});
loop.Loop();
return 0;
}

0 comments on commit ba31113

Please sign in to comment.