Uuid& Uuid::operator= (const String& uuidString) { MemoryBlock mb; mb.loadFromHexString (uuidString); mb.ensureSize (sizeof (uuid), true); mb.copyTo (uuid, 0, sizeof (uuid)); return *this; }
//============================================================================== void AdmvAudioProcessor::getStateInformation (MemoryBlock& destData) { uint8 version = getStateVersion(); destData.ensureSize(sizeof(mState) + 1, false); destData.copyFrom(&version, 0, 1); destData.copyFrom(&mState, 1, sizeof(mState)); }
//============================================================================== static String readResponse (const int socketHandle, const uint32 timeOutTime) { int bytesRead = 0, numConsecutiveLFs = 0; MemoryBlock buffer (1024, true); while (numConsecutiveLFs < 2 && bytesRead < 32768 && Time::getMillisecondCounter() <= timeOutTime) { fd_set readbits; FD_ZERO (&readbits); FD_SET (socketHandle, &readbits); struct timeval tv; tv.tv_sec = jmax (1, (int) (timeOutTime - Time::getMillisecondCounter()) / 1000); tv.tv_usec = 0; if (select (socketHandle + 1, &readbits, 0, 0, &tv) <= 0) return String::empty; // (timeout) buffer.ensureSize (bytesRead + 8, true); char* const dest = (char*) buffer.getData() + bytesRead; if (recv (socketHandle, dest, 1, 0) == -1) return String::empty; const char lastByte = *dest; ++bytesRead; if (lastByte == '\n') ++numConsecutiveLFs; else if (lastByte != '\r') numConsecutiveLFs = 0; } const String header (CharPointer_UTF8 ((const char*) buffer.getData())); if (header.startsWithIgnoreCase ("HTTP/")) return header.trimEnd(); return String::empty; }