35 gflags::ParseCommandLineFlags(&argc, &
argv,
true);
37 if (FLAGS_port == 0) {
38 LOG(ERROR) <<
"Must specify port";
46 auto sslContext = std::make_shared<SSLContext>();
51 socket->detachEventBase();
59 if (FLAGS_sendtimeout_ms != 0) {
60 socket->setSendTimeout(FLAGS_sendtimeout_ms);
64 auto sockAddr = socket.get();
69 sock.setAddress(addr);
70 std::chrono::milliseconds
timeout(FLAGS_timeout_ms);
74 for (
int32_t i = 0;
i < FLAGS_num_writes; ++
i) {
75 sock.write((
const uint8_t*)FLAGS_msg.data(), FLAGS_msg.size());
78 LOG(INFO) <<
"TFO attempted: " << sockAddr->getTFOAttempted();
79 LOG(INFO) <<
"TFO finished: " << sockAddr->getTFOFinished();
80 LOG(INFO) <<
"TFO success: " << sockAddr->getTFOSucceded();
82 std::array<char, 1024> buf;
84 while ((bytesRead = sock.read((
uint8_t*)buf.data(), buf.size())) != 0) {
void setFromHostPort(const char *host, uint16_t port)
constexpr detail::Map< Move > move
NetworkSocket socket(int af, int type, int protocol)
ThreadPoolListHook * addr
std::unique_ptr< AsyncSocket, Destructor > UniquePtr
std::string getAddressStr() const