void SocketTransportServiceTest::SendEvent() { nsresult rv; rv = target_->Dispatch(new EventReceived(this), 0); ASSERT_TRUE(NS_SUCCEEDED(rv)); ASSERT_TRUE_WAIT(Received() == 1, 10000); }
NS_DECL_ISUPPORTS NS_IMETHOD Run() { nsresult rv; char buf[101]; PRUint32 count; PRUint32 total = 0; while (PR_TRUE) { //if (gTrace) // printf("calling Read\n"); rv = mIn->Read(buf, 100, &count); if (NS_FAILED(rv)) { printf("read failed\n"); break; } if (count == 0) { break; } buf[count] = '\0'; if (gTrace) printf("read %d bytes: %s\n", count, buf); Received(count); total += count; } printf("read %d bytes\n", total); return rv; }
void ES_RemoteDebugConnection::ReceiveMoreL() { while (TRUE) { if (!ReceiveDataL()) return; if (!receive_message) { if (receive_buffer_used < 12) return; receive_tail = TRUE; receive_item = receive_item_offset = 0; if (!ES_RemoteStringIsHex(receive_buffer, 12)) { CloseL(); return; } receive_message_size = ES_RemoteStringToUnsigned8(receive_buffer); receive_message_length = ES_RemoteStringToUnsigned4(receive_buffer + 8); receive_message_buffer = new (ELeave) char[receive_message_size]; receive_message = new (ELeave) ES_DebugMessage; receive_buffer_used = 0; receive_message_received = 0; continue; } else if (receive_message_received < receive_message_size) continue; else { receive_message->ParseL(receive_message_buffer, receive_message_size, receive_message_length); LEAVE_IF_ERROR(Received(receive_message)); delete[] receive_message_buffer; receive_message_buffer = NULL; receive_message = NULL; } } }