int select(const SelectTypeArray& selarray, UInt32 ms) { SelectObjectArray soa; soa.reserve(selarray.size()); for (size_t i = 0; i < selarray.size(); ++i) { SelectObject curObj(selarray[i]); curObj.waitForRead = true; soa.push_back(curObj); } int rv = selectRW(soa, ms); if (rv < 0) { return rv; } // find the first selected object for (size_t i = 0; i < soa.size(); ++i) { if (soa[i].readAvailable) { return i; } } return SELECT_ERROR; }
void ChanneledJsonDecompressor::readArray(int64_t length, dynamic* outArrayObj) { *outArrayObj = {}; for (int64_t i = 0; i < length; ++i) { dynamic curObj(nullptr); read(&curObj); outArrayObj->push_back(curObj); } }