namespace apache { namespace thrift { namespace transport {
+using boost::scoped_ptr;
using boost::shared_ptr;
using namespace std;
using namespace apache::thrift::protocol;
return len;
}
+// note caller is responsible for freeing returned events
eventInfo* TFileTransport::readEvent() {
int readTries = 0;
uint32_t oldReadTimeout = getReadTimeout();
setReadTimeout(NO_TAIL_READ_TIMEOUT);
// keep on reading unti the last event at point of seekChunk call
- while (readEvent() && ((offset_ + readState_.bufferPtr_) < minEndOffset)) {};
+ boost::scoped_ptr<eventInfo> event;
+ while ((offset_ + readState_.bufferPtr_) < minEndOffset) {
+ event.reset(readEvent());
+ if (event.get() == NULL) {
+ break;
+ }
+ }
setReadTimeout(oldReadTimeout);
}