import org.zeromq.ZMQ; //导入方法依赖的package包/类
@Override
public void sendRequest(String request) throws Exception {
int retriesLeft = REQUEST_RETRIES;
while (retriesLeft > 0 && !Thread.currentThread().isInterrupted()) {
LOGGER.info("Sending request " + request);
requester.send(request);
int expect_reply = 1;
while (expect_reply > 0) {
PollItem items[] = {new PollItem(requester, Poller.POLLIN)};
int rc = ZMQ.poll(items, REQUEST_TIMEOUT);
if (rc == -1) {
break; // Interrupted
}
if (items[0].isReadable()) {
try {
String response = requester.recvStr();
retriesLeft = 0;
expect_reply = 0;
LOGGER.info("Handling response");
this.handler.handle(response);
} c