C++에서 Apache Thrift 서버가 외부 이벤트를 처리하도록하려면 어떻게해야합니까? 내 자신의 이벤트 루프를 작성하고 차단하지 않고 Thrift 프로세스 보류중인 이벤트를 수동으로 만들고 싶습니다.Apache Thrift 외부 이벤트 루프
나는 이런 식으로 뭔가를 할 수 있도록하고 싶습니다 : 위에서
//...
TSimpleServer server(processor,
serverTransport,
transportFactory,
protocolFactory);
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
t.async_wait(&onTimer);
while (!finished)
{
server.poll();
io.poll();
}
를 루프, 나는이 많이있을 것입니다 실현하면서 낭비 바쁜 대기 대기중인 이벤트가없는 경우. 이것을 피하는 방법에 대한 제안?
[TNonBlockingServer] (https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/server/TNonblockingServer.cpp)를 사용해 보셨습니까? – JensG
"* wasetful 폴링을 피하는 방법에 대한 제안? *"- 물론. 투표하지 마십시오. – JensG
TNonBlockingServer를 본 적이 있지만 폴링하는 방법이나 내 자신의 I/O 이벤트를 연결하는 방법을 알지 못합니다. 아무도 대답하지 않으면 나는이 문제에 좀 더 집중하고 내 자신의 질문에 대답하려고 할 것입니다. –