|
|
|
@ -35,6 +35,8 @@ |
|
|
|
|
#include <sstream> |
|
|
|
|
#include <thread> |
|
|
|
|
|
|
|
|
|
#include <signal.h> |
|
|
|
|
|
|
|
|
|
#include <gflags/gflags.h> |
|
|
|
|
#include <grpc/grpc.h> |
|
|
|
|
#include <grpc/support/log.h> |
|
|
|
@ -80,6 +82,8 @@ namespace gflags { } |
|
|
|
|
using namespace google; |
|
|
|
|
using namespace gflags; |
|
|
|
|
|
|
|
|
|
static bool got_sigint = false; |
|
|
|
|
|
|
|
|
|
bool SetPayload(PayloadType type, int size, Payload* payload) { |
|
|
|
|
PayloadType response_type = type; |
|
|
|
|
// TODO(yangg): Support UNCOMPRESSABLE payload.
|
|
|
|
@ -217,14 +221,17 @@ void RunServer() { |
|
|
|
|
} |
|
|
|
|
std::unique_ptr<Server> server(builder.BuildAndStart()); |
|
|
|
|
gpr_log(GPR_INFO, "Server listening on %s", server_address.str().c_str()); |
|
|
|
|
while (true) { |
|
|
|
|
while (!got_sigint) { |
|
|
|
|
std::this_thread::sleep_for(std::chrono::seconds(5)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void sigint_handler(int x) { got_sigint = true; } |
|
|
|
|
|
|
|
|
|
int main(int argc, char** argv) { |
|
|
|
|
grpc_init(); |
|
|
|
|
ParseCommandLineFlags(&argc, &argv, true); |
|
|
|
|
signal(SIGINT, sigint_handler); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(FLAGS_port != 0); |
|
|
|
|
RunServer(); |
|
|
|
|